1、基本的 docker 操作命令
docker images --- 查看所以鏡像
docker search 鏡像名 --- 搜索相關鏡像
docker images | grep 鏡像名模糊搜索
docker pull(-a) 鏡像名:版本號 --- 拉取鏡像,-a pull all
docker push 192.168.0.100:5000/ubuntu --- 推送鏡像庫到私有源
docker rmi(-f) 鏡像名:版本號/鏡像 ID --- 刪除鏡像 (加上 -f 參數(shù) 強制刪除)
docker rmi $(docker images -q) --- 刪除所有鏡像
docker ps --- 查看所以的容器
docker ps -a --- 查看所有容器的狀態(tài)
docker exec -it 容器 name /bin/sh --- 進入容器
exit --- 退出容器
docker start/stop id/name[name...] --- 啟動/停止某個(多個)容器
docker kill name[name...] --- 強制中斷
docker restart name[name...] --- 重啟
docker pause name --- 暫停
docker unpause name --- 繼續(xù)
docker rm name[name...] --- 移除容器
docker rmi (-f) name[name...] --- 移除鏡像(-f:強制移除運行中容器)
一鍵刪除所有 tag 為 none 的鏡像
docker rmi `docker images | grep "<none>" | awk '{print $3}'`
https://www.runoob.com/docker/docker-command-manual.html 更詳細的命令操作請查看
2、上傳本地鏡像到遠程鏡像倉庫
第一步:連接遠程鏡像倉庫 (docker login ip 地址:端口號)
第二步:獲取遠程倉庫中的鏡像 (docker push 鏡像名)
第三步:獲取倉庫中所有鏡像 (docker images )
第四步:編寫自己的 dockerfile 文件
第五步:build 當前鏡像中的 dockerfile 文件,生成新的 dockerfile 文件。 (docker build -t 鏡像名:tag . )
第六步:本地測試是否 build 成功 【本步驟可省略】, (docker run -p 8081:80 -d --name 容器名 鏡像名:tag)
-p, --publish=[], 指定容器暴露的端口
-d, --detach=false, 指定容器運行于前臺還是后臺,默認為 false
--name="", 指定容器名字,后續(xù)可以通過名字進行容器管理,links 特性需要使用名字
第七步:查看當前運行的容器 (docker ps )
第八步:測試成功后上傳鏡像, (docker push 鏡像名:tag)
第九步:查看倉庫中的所有鏡像 (docker images)
3、本地鏡像上傳到服務器
本地環(huán)境
- docker images 查看本地 docker 鏡像
- 找個路徑 cd Downloads/ -> docker save -o nr.tar(名字.tar 包) 10.1.32.209:9081/dist/nr-web-app:v1024(鏡像:tag)
- scp nr.tar root@10.1.32.194:/root
- 登錄 ssh root@10.1.32.194
dist@2020 - 上傳 docker load -i nr.tar(名字.tar 包)
- 查看 docker 服務 docker service ls
- 更新某個服務下的鏡像 docker service update front_nr-frontend --image 10.1.32.209:9081/dist/nr-web-app:v1024
最后終端出現(xiàn)
[root@master ~]# docker service update front_nr-frontend --image 10.1.32.209:9081/dist/nr-web-app:v1024
image 10.1.32.209:9081/dist/nr-web-app:v1024 could not be accessed on a registry to record
its digest. Each node will access 10.1.32.209:9081/dist/nr-web-app:v1024 independently,
possibly leading to different nodes running different
versions of the image.
front_nr-frontend
overall progress: 2 out of 2 tasks
1/2: running [==================================================>]
2/2: running [==================================================>]
verify: Service converged