docker常用命令
1. docker version
顯示 Docker 版本信息。
2. docker info
顯示 Docker 系統信息,包括鏡像和容器數。
3. docker search
docker search [options "o">] term
docker search -s django
從 Docker Hub 中搜索符合條件的鏡像。
--automated 只列出 automated build
類型的鏡像;
--no-trunc 可顯示完整的鏡像描述;
-s 40 列出收藏數不小於40的鏡像。
4. docker pull
docker pull [-a "o">] [user/ "o">]name[:tag "o">]
docker pull laozhu/telescope:latest
從 Docker Hub 中拉取或者更新指定鏡像。
-a 拉取所有 tagged 鏡像 。
5. docker login
root@moon:~# docker login
Username: username
Password: ****
Email: user@domain.com
Login Succeeded
按步驟輸入在 Docker Hub 注冊的用戶名、密碼和郵箱即可完成登錄。
6. docker logout
運行后從指定服務器登出,默認為官方服務器。
7. docker images
docker images [options "o">] [name]
列出本地所有鏡像。其中 [name] 對鏡像名稱進行關鍵詞查詢。
-a 列出所有鏡像(含過程鏡像);
-f 過濾鏡像,如: -f ['dangling=true'] 只列出滿足
dangling=true 條件的鏡像;
--no-trunc 可顯示完整的鏡像ID;
-q 僅列出鏡像ID。
--tree 以樹狀結構列出鏡像的所有提交歷史。
8. docker ps
列出所有運行中容器。
-a 列出所有容器(含沉睡鏡像);
--before="nginx" 列出在某一容器之前創建的容器,接受容器名稱和ID作為參數;
--since="nginx" 列出在某一容器之后創建的容器,接受容器名稱和ID作為參數;
-f [exited=<int>] 列出滿足
exited=<int> 條件的容器;
-l 僅列出最新創建的一個容器;
--no-trunc 顯示完整的容器ID;
-n=4 列出最近創建的4個容器;
-q 僅列出容器ID;
-s 顯示容器大小。
9. docker rmi
docker rmi [options "o">] <image> "o">[image...]
docker rmi nginx:latest postgres:latest python:latest
從本地移除一個或多個指定的鏡像。
-f 強行移除該鏡像,即使其正被使用;
--no-prune 不移除該鏡像的過程鏡像,默認移除。
10. docker rm
docker rm [options "o">] <container> "o">[container...]
docker rm nginx-01 nginx-02 db-01 db-02
sudo docker rm -l /webapp/redis
-f 強行移除該容器,即使其正在運行;
-l 移除容器間的網絡連接,而非容器本身;
-v 移除與容器關聯的空間。
11. docker history
docker history "o">[options] <image>
查看指定鏡像的創建歷史。
--no-trunc 顯示完整的提交記錄;
-q 僅列出提交記錄ID。
12. docker start|stop|restart
docker start|stop "p">|restart [options "o">] <container> "o">[container...]
啟動、停止和重啟一個或多個指定容器。
-a 待完成
-i 啟動一個容器並進入交互模式;
-t 10 停止或者重啟容器的超時時間(秒),超時后系統將殺死進程。
13. docker kill
docker kill "o">[options "o">] <container> "o">[container...]
殺死一個或多個指定容器進程。
-s "KILL" 自定義發送至容器的信號。
14. docker events
docker events [options "o">]
docker events --since= "s2">"20141020"
docker events --until= "s2">"20120310"
從服務器拉取個人動態,可選擇時間區間。
15. docker save
docker save -i "debian.tar"
docker save > "debian.tar"
將指定鏡像保存成 tar 歸檔文件, docker load 的逆操作。保存后再加載(saved-loaded)的鏡像不會丟失提交歷史和層,可以回滾。
-o "debian.tar" 指定保存的鏡像歸檔。
16. docker load
docker load [options]
docker load < debian.tar
docker load -i "debian.tar"
從 tar 鏡像歸檔中載入鏡像, docker save 的逆操作。保存后再加載(saved-loaded)的鏡像不會丟失提交歷史和層,可以回滾。
-i "debian.tar" 指定載入的鏡像歸檔。
17. docker export
docker export <container>
docker export nginx-01 > export.tar
將指定的容器保存成 tar 歸檔文件, docker import 的逆操作。導出后導入(exported-imported))的容器會丟失所有的提交歷史,無法回滾。
18. docker import
docker import url|- "o">[repository[:tag "o">]]
cat export.tar "p">| docker import - imported-nginx:latest
docker import http://example.com/export.tar
從歸檔文件(支持遠程文件)創建一個鏡像, export 的逆操作,可為導入鏡像打上標簽。導出后導入(exported-imported))的容器會丟失所有的提交歷史,無法回滾。
19. docker top
docker top <running_container> "o">[ps options]
查看一個正在運行容器進程,支持 ps 命令參數。
20. docker inspect
docker instpect nginx:latest
docker inspect nginx-container
檢查鏡像或者容器的參數,默認返回 JSON 格式。
-f 指定返回值的模板文件。
21. docker pause
暫停某一容器的所有進程。
22. docker unpause
docker unpause <container>
恢復某一容器的所有進程。
23. docker tag
docker tag [options "o">] <image>[:tag "o">] [repository/ "o">][username/]name "o">[:tag]
標記本地鏡像,將其歸入某一倉庫。
-f 覆蓋已有標記。
24. docker push
docker push name[:tag "o">]
docker push laozhu/nginx:latest
將鏡像推送至遠程倉庫,默認為 Docker Hub 。
25. docker logs
docker logs [options "o">] <container>
docker logs -f -t --tail= "s2">"10" insane_babbage
獲取容器運行時的輸出日志。
-f 跟蹤容器日志的最近更新;
-t 顯示容器日志的時間戳;
--tail="10" 僅列出最新10條容器日志。
26. docker run
docker run [options "o">] <image> [ "nb">command] "o">[arg...]
啟動一個容器,在其中運行指定命令。
-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運行;
-c 待完成
-m 待完成
--net="bridge" 指定容器的網絡連接類型,支持 bridge /
host / none
container:<name|id> 四種類型;
--link=[] 待完成
--expose=[] 待完成
docker-compose 常用命令
docker-compose up -d nginx 構建建啟動nignx容器
docker-compose exec nginx bash 登錄到nginx容器中
docker-compose down 刪除所有nginx容器,鏡像
docker-compose ps 顯示所有容器
docker-compose restart nginx 重新啟動nginx容器
docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不啟動關聯容器,並容器執行php -v 執行完成后刪除容器
docker-compose build nginx 構建鏡像 。
docker-compose build --no-cache nginx 不帶緩存的構建。
docker-compose logs nginx 查看nginx的日志
docker-compose logs -f nginx 查看nginx的實時日志
docker-compose config -q 驗證(docker-compose.yml)文件配置,當配置正確時,不輸出任何內容,當文件配置錯誤,輸出錯誤信息。
docker-compose events --json nginx 以json的形式輸出nginx的docker日志
docker-compose pause nginx 暫停nignx容器
docker-compose unpause nginx 恢復ningx容器
docker-compose rm nginx 刪除容器(刪除前必須關閉容器)
docker-compose stop nginx 停止nignx容器
docker-compose start nginx 啟動nignx容器