Docker 命令
1. docker 命令
1-1. 查看 docker 版本
docker version
1-2. 顯示 docker 系統的信息
docker info
1-3. 搜索 docker 鏡像
docker search <鏡像名>
1-4. 獲取容器或鏡像的元數據
docker inspect <容器名或ID或鏡像名>
1-5. 登錄 registry server
docker login <server>
# 示例:
docker login daocloud.io
docker login 子命令:
-p, --password:密碼
-u, --username:用戶名
2. docker image 命令
2-1. 查看本地鏡像
docker image ls
docker image ls 子命令:
-a, --all:顯示所有鏡像
-q, --quiet:只顯示鏡像ID
--no-trunc:不截斷輸出
2-2. 下載鏡像
通常情況下,描述一個鏡像需要包括“名稱+標簽”信息,如果不指定標簽信息,默認會選擇latest標簽,這會下載倉庫中最新版本的鏡像。更嚴格地講,鏡像的倉庫名稱中還應該添加倉庫地址(即registry,注冊服務器)作為前綴,只是我們默認使用的是Docker Hub服務,該前綴可以忽略。
docker image pull <鏡像名>[:標簽(往往用來表示版本信息)]
docker image pull ubuntu:14.04
docker image pull hub.c.163.com/public/ubuntu:14.04
docker image pull 子命令:
-a,--all-tags=true|false:是否獲取倉庫中所有版本鏡像,默認為否。
2-3. 發布鏡像
docker image push <鏡像名>[:標簽(往往用來表示版本信息)]
2-4. 刪除一個或多個鏡像
# 刪除一個鏡像
docker image rm <鏡像 ID>
# 刪除多個鏡像(中間用空格隔開)
docker image rm <鏡像 ID> <鏡像 ID> <...>
# 批量刪除本地所有鏡像
docker image rm $(docker image ls -a -q)
docker image rm 子命令:
-f, --force:強制刪除
2-5. 給鏡像打上標簽
docker image tag <鏡像名> <標簽名>
2-6. 顯示一個鏡像的歷史
docker image history <鏡像名>
2-7. 保存鏡像
docker image save <鏡像名> -o <文件名>
2-8. 加載鏡像
docker image load -i <文件名>
# 或者
docker image load <文件名>
2-9. 根據 Dockerfile 構建出一個鏡像
docker image build -t <鏡像名>[:標簽(往往用來表示版本信息)] <Dockerfile>
3. docker container 命令
3-1. 查看本地容器
docker container ls
docker container ls 子命令:
-a, --all:顯示所有容器,包括沒有在運行的
-q, --quiet:只顯示容器ID
--no-trunc:不截斷輸出
3-2. 創建一個新的容器
docker container create <鏡像名或ID> <命令>
docker container create 子命令:
--name <容器名>:給容器起個名字
-i, --interactive:表示讓容器的標准輸入打開
-t, --tty:表示分配一個偽終端
-p, --publish list:將容器的端口發布到主機
--rm:容器退出時自動刪除
3-3. 創建並啟動一個新的容器
docker container run <鏡像名或ID> <命令>
docker container run 子命令:
--name <容器名>:給容器起個名字
-d, --detach:在后台運行容器
-i, --interactive:表示讓容器的標准輸入打開
-t, --tty:表示分配一個偽終端
-p, --publish list:將容器的端口發布到主機
--rm:容器退出時自動刪除
# 示例
docker container run --name mytomcat -d -it -p 8080:8080 tomcat
3-4. 進入運行中的容器
docker container exec -it <容器名或ID> /bin/bash
3-5. 停止一個或多個運行中的容器
# 停止一個運行中的容器
docker container stop <容器名或ID>
# 停止多個運行中的容器(中間用空格隔開)
docker container stop <容器名或ID> <容器名或ID> <...>
3-6. 殺死一個或多個運行中的容器
# 停止一個運行中的容器
docker container kill <容器名或ID>
# 停止多個運行中的容器(中間用空格隔開)
docker container kill <容器名或ID> <容器名或ID> <...>
3-7. 暫停一個或多個容器內的所有進程
# 停止一個運行中的容器
docker container pause <容器名或ID>
# 停止多個運行中的容器(中間用空格隔開)
docker container pause <容器名或ID> <容器名或ID> <...>
3-8. 取消暫停一個或多個容器內的所有進程
# 停止一個運行中的容器
docker container unpause <容器名或ID>
# 停止多個運行中的容器(中間用空格隔開)
docker container unpause <容器名或ID> <容器名或ID> <...>
3-9. 啟動一個或多個停止的容器
# 啟動一個停止的容器
docker container start <容器名或ID>
# 啟動多個停止的容器(中間用空格隔開)
docker container start <容器名或ID> <容器名或ID> <...>
docker container start 子命令:
-a, --attach:附加標准輸出和標准錯誤
-i, --interactive:表示讓容器的標准輸入打開
3-10. 重啟一個或多個容器
# 重啟一個的容器
docker container restart <容器名或ID>
# 重啟多個容器(中間用空格隔開)
docker container restart <容器名或ID> <容器名或ID> <...>
3-11. 刪除一個或多個容器
# 刪除一個容器
docker container rm <容器名或ID>
# 刪除多個容器(中間用空格隔開)
docker container rm <容器名或ID> <容器名或ID> <...>
# 批量刪除本地所有容器
docker container rm $(docker container ls -a -q)
docker container rm 子命令:
-f, --force:強制刪除
3-12. 從一個容器中取日志
docker container logs <容器名或ID>
3-13. 列出一個容器里面被改變的文件或者目錄
list列表會顯示出三種事件,A 增加的,D 刪除的,C 被改變的
docker container diff <容器名或ID>
3-14. 顯示一個運行的容器里面的進程信息
docker container top <容器名或ID>
3-15. 從容器里面拷貝文件或目錄到本地一個路徑
docker container cp <容器名或ID>:/container_path to_path
4. 有圖有真相(docker event state)

5. 參考資料
docker簡單使用 - CSDN博客
https://blog.csdn.net/tongzhenggang/article/details/54288351
Docker入門 - 278108678 - 博客園
http://www.cnblogs.com/sunyujun/p/9181069.html
Docker學習筆記(2)--Docker常用命令 - Go2Shell - CSDN博客
https://blog.csdn.net/we_shell/article/details/38368137
Docker的學習--命令使用詳解 - 瘋狂的原始人 - 博客園
http://www.cnblogs.com/CraryPrimitiveMan/p/4657835.html
Docker - 簡書
https://www.jianshu.com/p/1ee42024b97c