Docker 必備 實用性命令 速查手冊
簡介
? Docker 已迅速成為容器化應用程序的事實標準。作為開發人員或 DevOps 工程師/系統管理員,熟悉 Docker 對于高效部署現代、可移植的應用程序至關重要。
? 盡管 Docker 擁有眾多高級功能和命令,但你會發現自己每天都會不斷使用一些必不可少的功能和命令。
? 在這篇文章中,我們將介紹每個人都應該知道的20 多個基本 Docker 命令及其用例。
一、Docker 常規命令
1.docker info
?docker info顯示系統范圍的信息
? 句法:docker info
2.docker --help
?docker --help獲取 Docker 幫助。也可以在所有子命令上使用 --help
? 句法:docker
2de7a40cf55342d8a1e6acc67759826f.png
二、Docker 注冊表
3.docker login
? **docker login**用于登錄 Docker 注冊表。如果沒有指定服務器,則默認由守護進程定義。
? 句法:docker login
? 使用案例:
ID | 命令 | 描述 |
1 | docker login | 登錄到默認 Docker 注冊表 |
2 | docker login myRegistry -u username | 使用指定的用戶名登錄到指定的registry |
4. docker logout
? 要從 Docker 注冊表中注銷,請使用docker logout。當您想要刪除用于注冊表身份驗證的憑據時,使用此命令。
? 句法:docker logout
? 使用案例:
ID | 命令 | 描述 |
1 | docker logout | 從默認 Docker 注冊表注銷 |
2 | docker logout myRegistry | 從指定注冊表注銷 |
三、Docker 鏡像
af2914172ce04e1985507898230b0a52.png
5. docker build
? **docker build**用于從 Dockerfile 構建自定義 Docker 鏡像。
? 句法:docker build -t
? 使用案例:
ID | 命令 | 描述 |
1 | docker build -t myImage . | 使用當前目錄中的 Dockerfile 構建映像 |
2 | docker build -t myImage:v0.1.0 . | 使用指定標簽從 Dockerfile 構建 Docker 鏡像 |
3 | docker build -t myImage -f demo/Dockerfile | 使用 demo 目錄中的 Dockerfile 構建映像 |
6. docker tag
?docker tag允許您為現有的 Docker 鏡像創建新的標簽。
? 句法:docker tag
? 使用案例:
ID | 命令 | 描述 |
1 | docker tag myImage:latest myImage:v2 | 為 Docker 鏡像“myImage”創建一個新的標簽“v2”,標簽為“latest” |
2 | docker tag myImage:latest myRegistry/myImage | 將 Docker 鏡像“myImage”標記為“latest”,并將其添加到鏡像倉庫的鏡像標簽 latest |
3 | docker tag myImage:latest myRegistry/myImage:1.0.0 | 將 Docker 映像“myImage”標記為“latest”,并將其標記為注冊表映像標簽 1.0.0 |
e7b1c1d8130649efab8005131435afd6.png
7.docker images
?docker images,該命令列出了系統上拉取和構建的所有 Docker 鏡像。在運行容器或清理之前,您會經常使用它來查看鏡像。
? 句法:docker images
? 使用案例:
ID | 命令 | 描述 |
1 | docker images | 列出系統上的所有 Docker 鏡像 |
2 | docker images -a | 列出所有 Docker 鏡像,包括中間鏡像 |
8.docker pull
? 要從 Docker Hub 等注冊表下載鏡像,請使用**docker pull**。例如,docker pull nginx獲取最新的 nginx 鏡像。
? 句法:docker pull
? 使用案例:
ID | 命令 | 描述 |
1 | docker pull nginx | 從 Docker Hub 拉取最新的 nginx 鏡像 |
2 | docker pull nginx:latest | 從 Docker Hub 明確提取最新的 nginx 鏡像 |
3 | docker pull myRegistry/myImage:tag | 從私有鏡像倉庫中拉取特定鏡像 |
9. docker push
? **docker push**用于將 Docker 鏡像上傳到注冊表。
? 句法:docker push
? 使用案例:
ID | 命令 | 描述 |
1 | docker push myImage | 將“myImage”圖像推送到默認注冊表 |
2 | docker push myRegistry/myImage:tag | 將特定標記版本的“myImage”圖像推送到私有注冊表 |
10. docker save
? 要將 Docker 映像保存為 .tar 文件,請使用**docker save**。此命令允許您將映像從本地 Docker 環境導出為可移植格式。
? 句法:docker save -o
? 使用案例:
ID | 命令 | 描述 |
1 | docker save -o myImage.tar myImage | 將 Docker 映像保存到本地 .tar 文件 |
2 | docker save -o /path/to/output.tar myImage | 將圖像保存到系統上的特定位置 |
11. docker load
? 要從已保存的存檔中加載鏡像到docker中,請使用**docker load**。當您將圖像保存為 .tar 文件并想要將其導入本地 Docker 環境時,此命令非常方便。
? 句法:docker load -i
? 使用案例:
ID | 命令 | 描述 |
1 | docker load -i myImage.tar | 從本地 .tar 文件加載 Docker 映像 |
2 | docker load -i /path/to/image_archive.tar | 從系統上的特定位置加載圖像 |
12. docker rmi
?docker rmi刪除一個或多個 Docker 鏡像。刪除鏡像前請確保該鏡像上沒有已停止的容器。
? 句法:docker rmi
? 使用案例:
ID | 命令 | 描述 |
1 | docker rmi myImage | 刪除名為“myImage”的 Docker 映像 |
2 | docker rmi myImage:tag | 刪除“myImage”圖像的特定標記版本 |
四、Docker 容器
1b082e36682e476d8f20eceeb4b10f61.png
13. docker run
?docker run從映像創建并啟動新容器。您可以傳遞各種選項來配置容器的網絡、設置環境變量、映射卷等。
? 句法:docker run
? 使用案例:
ID | 命令 | 描述 |
1 | docker run -d --name mycontainer nginx | 使用容器名稱“mycontainer”以分離模式運行 nginx 鏡像 |
2 | docker run -p 8080:80 --name mycontainer nginx | 運行 nginx 鏡像,將主機 8080 端口映射到容器 80 |
3 | docker run -e MYSQL_ROOT_PASSWORD=password -v /mydata:/var/lib/mysql mysql | 運行 MySQL 鏡像并設置 root 密碼 |
4 | docker run -v /mydata:/var/lib/mysql mysql | 運行 MySQL 鏡像并將主機目錄掛載到容器 |
5 | docker run --network=host myImage | 使用主機網絡運行容器 |
6 | docker run --privileged myImage | 使用 Docker 映像“myImage”運行具有擴展權限的容器 |
7 | docker run -it myImage /bin/bash | 運行映像并在容器內打開 bash shell |
14. docker ps
? 一旦容器開始運行,您就需要docker ps列出它們。基本docker ps列表僅顯示正在運行的容器。用于docker ps -a同時包括已停止的容器。
? 句法:docker ps
? 使用案例:
ID | 命令 | 描述 |
1 | docker ps | 列出正在運行的容器 |
2 | docker ps -a | 列出所有容器,包括已停止的容器 |
15. docker stop/start/restart
? 這些命令允許您停止、啟動或重新啟動一個或多個正在運行的容器。您可以通過名稱或 ID 引用容器。
? 句法:docker stop/start/restart
? 使用案例:
ID | 命令 | 描述 |
1 | docker stop mycontainer | 停止名為“mycontainer”的正在運行的容器 |
2 | docker restart mycontainer | 重新啟動名為“mycontainer”的容器 |
3 | docker start mycontainer | 啟動名為“mycontainer”的已停止的容器 |
16. docker rm
? 一旦停止容器,docker rm就會將其從系統中完全刪除。用于docker rm -f強制刪除正在運行的容器。
? 句法:docker rm
? 使用案例:
ID | 命令 | 描述 |
1 | docker rm mycontainer | 刪除名為“mycontainer”的已停止的容器 |
2 | docker rm -f mycontainer | 強制刪除名為“mycontainer”的正在運行的容器 |
17. docker logs
? 當容器化應用程序運行不正常時,docker logs從指定容器中檢索日志以幫助排除故障。
? 句法:docker logs
? 使用案例:
ID | 命令 | 描述 |
1 | docker logs mycontainer | 從名為“mycontainer”的容器中檢索日志 |
2 | docker logs --tail 100 mycontainer | 從“mycontainer”檢索最后 100 行日志 |
18. docker exec
?docker exec允許您在已運行的容器內運行新命令。例如,使用 啟動 Bash shelldocker exec -it
? 句法:docker exec
? 使用案例:
ID | 命令 | 描述 |
1 | docker exec -it mycontainer /bin/bash | 在“mycontainer”中啟動交互式 Bash shell |
2 | docker exec mycontainer ls -l /app | 列出“mycontainer”中目錄“/app”中的文件 |
19. docker cp
?docker cp允許您在容器和本地文件系統之間復制文件和目錄。
? 句法:docker cp
? 使用案例:
ID | 命令 | 描述 |
1 | docker cp mycontainer:/app/logs/log.txt ./local_dir/ | 將文件“log.txt”從容器“mycontainer”復制到本地目錄 |
2 | docker cp ./local_file.txt mycontainer:/app/data/ | 將文件“local_file.txt”從本地文件系統復制到容器“mycontainer” |
五、Docker 清理
20. docker system prune
?docker system prune允許您清理 Docker 環境中未使用的數據。
? 句法:docker system prune
? 使用案例:
ID | 命令 | 描述 |
1 | docker system prune | 刪除所有已停止的容器、懸空的鏡像和未使用的網絡 |
2 | docker system prune -a | 刪除所有已停止的容器、所有未使用的圖像以及所有未使用的網絡 |
鏈接:https://linhai.blog.csdn.net/article/details/141258485
-
服務器
+關注
關注
12文章
9681瀏覽量
87235 -
命令
+關注
關注
5文章
726瀏覽量
22663 -
Docker
+關注
關注
0文章
509瀏覽量
12676
原文標題:Docker 必備 實用性命令 速查手冊
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論