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

評論