Docker的應用場景
1.簡化配置,同一Docker的配置可以在不同 環境中使用,降低了硬件要求和應用環境之間的耦合度.
2.代碼的流水線管理.代碼從開發者的假期到最終在生產環境上的部署,需要經過很多的中間環境.而每一箇中間環境都有自己微小的蛤貝,Docker給應用提供一個從開發到上線均一致的環境,讓代碼的流水線變得簡單.
3.提高開發效率
4.隔離應用,使應用松耦合
5.快速部署
docker [CMD] [options]
基本命令與釋義
attach進入到正在運行的容器
build由Dockerfile構建鏡像
commit由容器的改變創建一個新的鏡像
cp在容器中複製文件或文件夾到本地文件或文件夾中.
logs獲取容器日誌
network管理Docker網絡
node管理Docker集羣節點
pause暫停一個或多個容器內的所有進程
port列表端口映射或用於容器的特定的映射
ps列出容器
pull從鏡像倉庫中拉出鏡像
push上傳鏡像
rename重命名鏡像
restart重啓一個容器
rm 刪除容器
rmi刪除鏡像
run在容器中運行命令
search在Docker Hub中查找鏡像
service管理Docker服務
start啓動停止的容器
stats顯示容器的實時流資源使用統計信息
stop停止正在運行的容器
swarm管理Docker集羣
tag將鏡像標記到存儲庫中
top顯示容器的正在運行的進程
volume管理Docker卷
docker run [options]
常用參數與釋義(主要介紹docker run)
-a stdin: 指定標準輸入輸出內容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 後臺運行容器,並返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-t: 爲容器重新分配一個僞輸入終端,通常與 -i 同時使用;
–name=”nginx-lb”: 爲容器指定一個名稱;
–dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=”ritchie”: 設置環境變量;
–env-file=[]: 從指定文件讀入環境變量;
–cpuset=”0-2” or –cpuset=”0,1,2”: 綁定容器到指定CPU運行;
-m :設置容器使用內存最大值;
–net=”bridge”: 指定容器的網絡連接類型,支持 bridge/host/none/Container: 四種類型;
–link=[]: 添加鏈接到另一個容器;
–expose=[]: 開放一個端口或一組端口;
1.安裝Docker
2.加入開機啓動
3.啓動Docker
4.下載鏡像
5.查看本地鏡像
6.啓動容器
7.查看容器
搭建本地鏡像倉庫
倉庫IP 192.168.247.142
1.拉取registry鏡像
2.啓動鏡像倉庫容器並且映射虛擬機端口5000和容器端口5000
3.將本地目錄/opt/data/registry掛載到容器內目錄/tmp/registry中
4.用busybox做試驗
5.在需要拉取鏡像的虛擬機上創建/etc/docker/daemon.json(這一步很關鍵,解決的http和https服務衝突問題)
6.向私有倉庫中上傳鏡像
docker的網絡配置
1.查看docker的所有網絡
2.指定查看bridge網絡的配置
3.啓動兩個busybox做實驗,分別是container1和container2
4.再次查看bridge,這時可以看到container1和container2已經被加入bridge中了
5.也可以進入到container1中,用ifconfig查看網絡配置
6.ping
7.
8.自建橋接模式的網絡isolated_nw
9.查看網絡能看到已經建立的isolated_nw
10.啓動container3時指定網絡isolated_nw,則可以加入自建網絡中