摘要:系統(tǒng)有兩個(gè)程序服務(wù)端和客戶端。其中服務(wù)端是一個(gè)服務(wù)進(jìn)程,管理著所有的容器。客戶端則扮演著服務(wù)端的遠(yuǎn)程控制器,可以用來控制的服務(wù)端進(jìn)程。守護(hù)進(jìn)程會(huì)處理復(fù)雜繁重的任務(wù),例如建立運(yùn)行發(fā)布你的容器??蛻舳撕褪刈o(hù)進(jìn)程之間通過或者進(jìn)行通信。
預(yù)期學(xué)習(xí)目標(biāo)
Docker基本概念
配置本地Docker環(huán)境
容器的生命周期與配置
端口映射和容器鏈接
利用volume保存持久化容器數(shù)據(jù)
檢查容器日志
監(jiān)控容器內(nèi)部進(jìn)程狀態(tài)
構(gòu)建容器鏡像
鏡像管理
基本信息 安裝預(yù)卸載Docker Desktop for Windows
Windows 環(huán)境需要運(yùn)行 Microsoft Hyper-V
安裝完成后使用 Docker Hub 賬號(hào)登錄,需要注意的是,使用 Docker ID 登錄而不是郵箱登錄,不然 run 的時(shí)候會(huì)出錯(cuò)
Linux
# 卸載舊版本 rpm -qa | grep docker | xargs yum -y remove #安裝依賴 yum install -y yum-utils device-mapper-persistent-data lvm2 # 配置穩(wěn)定版?zhèn)}庫(kù) yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安裝最新版本的Docker CE和containerd yum install docker-ce docker-ce-cli containerd.io # 啟動(dòng) systemctl start docker # 設(shè)置開啟自啟 systemctl enable docker # 運(yùn)行 hello-world 驗(yàn)證安裝結(jié)果 docker run hello-world基本配置 編排多個(gè)容器
# 創(chuàng)建多容器套件并在后臺(tái)運(yùn)行 docker-compose up -d # 銷毀多容器套件 docker-compose down # 列出所有容器ID docker ps -aq # 停止所有的容器 docker stop $(docker ps -aq) # 刪除所有停止的容器 docker container prune # 刪除所有不使用的鏡像 docker image prune編排文件格式
# 指定 Dockerfile 所在文件夾的路徑 build # 數(shù)據(jù)卷所掛載路徑設(shè)置 volumes # 指定設(shè)備映射關(guān)系 devices # 配置容器連接的網(wǎng)絡(luò) networks # 自定義 DNS 服務(wù)器 dns # 掛載一個(gè) tmpfs 文件系統(tǒng)到容器 tmpfs # 設(shè)置環(huán)境變量 environment # 暴露端口信息 (使用宿主端口) ports # 暴露端口,但不映射到宿主機(jī),只被連接的服務(wù)訪問 (僅可以指定內(nèi)部端口為參數(shù)) expose使用遠(yuǎn)程連接
Docker 使用客戶端-服務(wù)器 (C/S) 架構(gòu)模式。Docker 系統(tǒng)有兩個(gè)程序:docker 服務(wù)端和 docker 客戶端。其中 docker 服務(wù)端是一個(gè)服務(wù)進(jìn)程,管理著所有的容器。docker 客戶端則扮演著 docker 服務(wù)端的遠(yuǎn)程控制器,可以用來控制 docker 的服務(wù)端進(jìn)程。Docker 客戶端會(huì)與 Docker 守護(hù)進(jìn)程進(jìn)行通信。Docker 守護(hù)進(jìn)程會(huì)處理復(fù)雜繁重的任務(wù),例如建立、運(yùn)行、發(fā)布你的 Docker 容器。Docker 客戶端和守護(hù)進(jìn)程可以運(yùn)行在同一個(gè)系統(tǒng)上,當(dāng)然你也可以使用 Docker 客戶端去連接一個(gè)遠(yuǎn)程的 Docker 守護(hù)進(jìn)程。Docker 客戶端和守護(hù)進(jìn)程之間通過 socket 或者 RESTful API 進(jìn)行通信。
配置遠(yuǎn)程訪問(不安全)
# 編輯或創(chuàng)建文件 vim /etc/docker/daemon.json # 配置 { "hosts":[ "unix:///var/run/docker.sock", "tcp://0.0.0.0:2375" ] } # 重新讀取配置文件, systemctl daemon-reload # 重新啟動(dòng)服務(wù) systemctl restart docker # 使用測(cè)試機(jī)器進(jìn)行連接測(cè)試 docker -H tcp://35.24.113.168:2375 info
配置遠(yuǎn)程訪問(不安全)
# 編輯文件 vim /usr/lib/systemd/system/docker.service # 配置遠(yuǎn)程訪問 [Service] ExecStart= ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock # 重新讀取配置文件, systemctl daemon-reload # 重新啟動(dòng)服務(wù) systemctl restart docker # 使用測(cè)試機(jī)器進(jìn)行連接測(cè)試 docker -H tcp://35.24.113.168:2375 info
使用證書認(rèn)證進(jìn)行連接
基本命令# 查看docker的運(yùn)行情況 docker ps # 查看docker的信息 docker info # 進(jìn)入終端 : [-t | --tty] 交互式連接 : [-i | --interactive] docker exec -it container_name /bin/bash # 查看容器IP和容器ID cat /etc/hosts # 幫助命令 docker --help # 列出所有容器 docker container ls -all # 列出所有鏡像 docker image ls -all # 查看版本 docker --version # 查容器編排工具的版本 docker-compose -v # 拉取一個(gè)hello-world鏡像,并創(chuàng)建容器并運(yùn)行 docker run hello-world錯(cuò)誤排查
Windows 下未暴露 2375 端口
# 查看端口 netstat -ano | findstr 2375 # 探測(cè)端口 telnet 127.0.0.1 2375 # 查看端口是否被過濾 netsh interface ipv4 show excludedportrange protocol=tcp # 禁用Hyper-V并重新啟動(dòng) dism.exe /Online /Disable-Feature:Microsoft-Hyper-V # 保留 2375 端口 netsh int ipv4 add excludedportrange protocol=tcp startport=2375 numberofports=1 # 啟用Hyper-V并重新啟動(dòng) dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All相關(guān)文章
Linux 學(xué)習(xí)筆記(一):內(nèi)網(wǎng)穿透
Linux 學(xué)習(xí)筆記(二):搭建個(gè)人Git服務(wù)器
Linux 學(xué)習(xí)筆記(三):Ubuntu 操作系統(tǒng)
Linux 學(xué)習(xí)筆記(四):Docker
Linux 學(xué)習(xí)筆記(五):Redis
Linux 學(xué)習(xí)筆記(六):Linux
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27577.html
摘要:時(shí)間年月日星期六說明本文部分內(nèi)容均來自慕課網(wǎng)。必填用于執(zhí)行命令,當(dāng)執(zhí)行完畢后,將產(chǎn)生一個(gè)新的文件層??蛇x指定此鏡像啟動(dòng)時(shí)默認(rèn)執(zhí)行命令。可選用于指定需要暴露的網(wǎng)絡(luò)端口號(hào)??蛇x向鏡像中掛載一個(gè)卷組。 時(shí)間:2017年09月16日星期六說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com 教學(xué)源碼:無 學(xué)習(xí)源碼:無 第一章:課程簡(jiǎn)介 1-1 課程介紹 Docke...
摘要:容器通過獲取一個(gè)與同網(wǎng)段的地址,并默認(rèn)連接到網(wǎng)橋,并將的地址作為網(wǎng)關(guān)實(shí)現(xiàn)容器與宿主機(jī)的網(wǎng)絡(luò)互通,另外,同一個(gè)宿主機(jī)下同樣使用模式的容器可以直接通訊。 【技術(shù)沙龍002期】數(shù)據(jù)中臺(tái):宜信敏捷數(shù)據(jù)中臺(tái)建設(shè)實(shí)踐|宜信技術(shù)沙龍 將于5月23日晚8點(diǎn)線上直播,點(diǎn)擊報(bào)名 一、關(guān)于Docker Docker 是一個(gè)開源的應(yīng)用容器引擎,基于 Go 語(yǔ)言 并遵從Apache2.0協(xié)議開源。 Docker...
摘要:編程書籍的整理和收集最近一直在學(xué)習(xí)深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后也找了很多的書和文章,隨著不斷的學(xué)習(xí),也整理了下自己的學(xué)習(xí)筆記準(zhǔn)備分享出來給大家后續(xù)的文章和總結(jié)會(huì)繼續(xù)分享,先分享一部分的 編程書籍的整理和收集 最近一直在學(xué)習(xí)deep learning深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后...
閱讀 1869·2021-08-19 11:12
閱讀 1448·2021-07-25 21:37
閱讀 1005·2019-08-30 14:07
閱讀 1282·2019-08-30 13:12
閱讀 667·2019-08-30 11:00
閱讀 3547·2019-08-29 16:28
閱讀 1015·2019-08-29 15:33
閱讀 2990·2019-08-26 13:40