- 文章信息 - Author: 李俊才 (jcLee95)
Visit me at: https://jclee95.blog.csdn.net
My WebSite:http://thispage.tech/
Email: 291148484@163.com.
Shenzhen China
Address of this article:https://blog.csdn.net/qq_28550263/article/details/136359965
HuaWei:https://bbs.huaweicloud.com/blogs/422869
【介紹】:在本文中,我們將探討 Docker CLI 的基本用法,包括如何使用命令來查找、拉取、推送、導出、加載鏡像,以及如何創建容器、進行文件拷貝、數據卷掛載和容器管理等操作。通過學習和掌握這些基本用法,用戶可以更好地利用 Docker CLI 來管理他們的容器化應用,提高工作效率和便捷性。
目 錄
- 1. 概述
- 2. 鏡像
- 3. 容器
- 3.1 由鏡像創建容器
- 類比于VMWare
- Docker Run 命令解析
- 基本示例:
- 示例:創建tensorflow容器
- 下載 TensorFlow Docker 鏡像
- 啟動 TensorFlow Docker 容器
- 使用 CPU-only 鏡像的示例
- GPU 支持
- 使用啟用 GPU 的鏡像的示例
- 示例:創建mysql容器
- 3.2 容器和宿主機之間文件拷貝
- 從宿主機到容器的復制
- 從容器到宿主機的復制
- 3.3 使用數據卷掛載
- 3.4 共享目錄
- 3.5 容器管理
- 列出容器
- 查看容器日志
- 進入容器
- 停止容器
- 啟動容器
- 刪除容器
- 清理無用容器
- 監視容器
- 4. 結論
1. 概述
Docker 是一個開源項目,它使得開發者和系統管理員可以輕松地在容器中部署應用、任務或服務。容器技術允許您將應用及其依賴環境打包成一個輕量級、可移植的容器中,這樣可以確保它在任何 Linux 機器上無縫運行,無論是 物理機、虛擬機、云提供商平臺還是個人電腦。Docker 使用簡單的命令行工具和一系列APIs,提供了一個高效的方式來管理容器的生命周期,包括構建、發布、運行、更新和停止容器。
在本文中,我們將探討 Docker CLI 的基本用法,包括如何使用命令來查找、拉取、推送、導出、加載鏡像,以及如何創建容器、進行文件拷貝、數據卷掛載和容器管理等操作。通過學習和掌握這些基本用法,用戶可以更好地利用 Docker CLI 來管理他們的容器化應用,提高工作效率和便捷性。
通過本文的介紹和實例操作,讀者將能夠全面了解 Docker CLI 的功能和用法,從而更好地利用 Docker 技術來構建、部署和管理他們的應用程序。Docker CLI 的強大功能和靈活性將為用戶帶來更高效的開發和部署體驗,為現代軟件開發提供了重要的支持和工具。
https://hub.docker.com/
Docker Hub是用于存儲、分享和管理Docker容器鏡像的在線平臺,為Docker社區提供了一個集中存儲和共享容器鏡像的地方。
如果在需要在Docker Hub存儲發布自己的鏡像,需要注冊一個Docker Hub賬戶。首先,需要在Docker Hub上創建一個賬戶。這可以通過訪問Docker Hub網站(https://hub.docker.com/)并點擊"Sign UP"按鈕來完成。
當然你也可以選擇使用GitHUb等第三方工具進行注冊/登陸:
如果使用第三方注冊,首次登陸后可以在下面的頁面修改你的密碼:
https://hub.docker.com/settings/general
依據郵件完成密碼更改即可。
2.2 鏡像的查找在Docker中,你可以使用docker search
命令來查找Docker Hub中的鏡像:
docker search <key-works>
其中:
- 表示關鍵詞。
例如,如果查找與Ubuntu相關的鏡像,可以運行以下命令:
docker search ubuntu
要拉取一個Docker鏡像,可以使用docker pull
命令,例如:
docker pull ubuntu
上述命令將從Docker Hub拉取官方的Ubuntu鏡像。你可以替換"ubuntu"為你需要的其他鏡像名稱。
你可以通過“:tag
”指定標簽來選擇不同的版本的鏡像。例如,如果拉取Ubuntu 20.04版本的鏡像,可以運行以下命令:
docker pull ubuntu:20.04
或者直接使用“latest”標簽來拉取最新版本的鏡像:
docker pull ubuntu:latest
如果不指定版本標簽,Docker將默認拉取最新的版本。
要查看已經拉取到本地的鏡像,可以使用docker images
命令:
docker images
從截圖的示例中可以看到,當前拉取過3個鏡像,以及各自的相關參數信息。
2.4 鏡像的推送鏡像推送需要先執行登陸命令:
docker login
如果你想將自己創建的Docker鏡像上傳到Docker Hub,可以使用docker push
命令。首先,構建你的鏡像,然后使用docker push
將其上傳到Docker Hub。例如:
docker build -t <image-name>:tag .
docker push <image-name>:tag
其中:
- :表示鏡像名;
- tag:表示鏡像的標簽(可選)。
要導出一個 Docker 鏡像為文件,你可以使用 docker save
命令。具體的步驟如下:
-
查看可用鏡像:
首先,你可以運行以下命令來查看已安裝的 Docker 鏡像列表:
docker images
這將列出所有已經下載或構建的 Docker 鏡像。記下你想要導出的鏡像的名稱和標簽。
-
導出 Docker 鏡像為文件:
使用
docker save
命令導出鏡像為文件。語法如下:docker save -o <輸出文件名.tar> <鏡像名稱:標簽>
<輸出文件名.tar>
:指定導出的文件名,通常使用.tar
擴展名。<鏡像名稱:標簽>
:指定要導出的鏡像的名稱和標簽。
例如,如果你要導出一個名為
myapp
,標簽為v1.0
的鏡像到名為myapp_v1.0.tar
的文件中,可以運行以下命令:docker save -o myapp_v1.0.tar myapp:v1.0
這將創建一個名為
myapp_v1.0.tar
的文件,其中包含了myapp:v1.0
鏡像的所有文件和元數據。 -
確認導出:
導出過程完成后,你可以確認文件已成功創建,位于當前工作目錄中。你可以運行
ls
命令來查看:ls -l myapp_v1.0.tar
這將列出文件的詳細信息,包括文件大小。
現在,你已經成功將 Docker 鏡像導出為一個 .tar
文件。你可以將這個文件傳輸到其他機器或存檔以備將來使用。要在其他機器上導入這個鏡像,可以使用 docker load
命令。例如:
docker load -i myapp_v1.0.tar
這將導入鏡像并使其可在新機器上運行。希望這可以幫助你完成 Docker 鏡像的導出操作。
2.6 將鏡像文件加載到Docker本節和上一節介紹的內容互為逆過程。
要將 Docker 鏡像文件加載到 Docker,你可以使用 docker load
命令。以下是詳細的步驟:
-
將鏡像文件復制到目標機器:
將之前導出的 Docker 鏡像文件(通常是一個
.tar
文件)復制到目標機器上。你可以使用scp
、rsync
或其他文件傳輸工具來進行復制。 -
加載 Docker 鏡像文件:
在目標機器上,使用
docker load
命令來加載鏡像文件。語法如下:docker load -i <鏡像文件名.tar>
<鏡像文件名.tar>
:指定要加載的鏡像文件的路徑和名稱。
例如,如果你要加載名為
myapp_v1.0.tar
的鏡像文件,可以運行以下命令:docker load -i myapp_v1.0.tar
這將從文件
myapp_v1.0.tar
中加載鏡像到 Docker。 -
確認加載:
加載完成后,你可以運行以下命令來驗證鏡像是否已成功加載到 Docker:
docker images
這將列出目標機器上已加載的所有 Docker 鏡像,包括你剛剛加載的鏡像。
要刪除 Docker 鏡像,你可以使用 docker rmi
命令。以下是如何刪除 Docker 鏡像的具體步驟:
-
查看已安裝的鏡像:
在執行刪除操作之前,你可以運行以下命令來查看已安裝的 Docker 鏡像列表:
docker images
這將列出所有已下載或構建的 Docker 鏡像,以及它們的名稱、標簽、大小等信息。確定你想要刪除的鏡像的名稱和標簽。
-
刪除 Docker 鏡像:
使用
docker rmi
命令來刪除鏡像。語法如下:docker rmi <鏡像名稱:標簽>
<鏡像名稱:標簽>
:指定要刪除的鏡像的名稱和標簽。
例如,如果要刪除名為
myapp
,標簽為v1.0
的鏡像,可以運行以下命令:docker rmi myapp:v1.0
如果要刪除多個鏡像,可以在命令中列出它們,例如:
docker rmi myapp:v1.0 myapp:v2.0
或者,如果要刪除所有沒有被容器使用的鏡像,可以運行以下命令:
docker image prune -a
這將刪除所有未被容器使用的鏡像,包括沒有標簽的鏡像。
-
確認刪除:
老規矩,刪除完成后,再次運行
docker images
命令來確認是否已成功刪除了鏡像。被刪除的鏡像將不再出現在列表中。
類比于VMWare
由鏡像創建容器可以類比于 VMWare 新建虛擬機時需要從選擇一個系統鏡像開始:
只不過Docker中的鏡像管理起來更加方便,既可以從一個Dcocker鏡像文件導入Docker,也可以直接從Docker Hub拉取。
Docker Run 命令解析
docker run
命令用于創建和運行 Docker 容器。這個命令非常強大,有許多可用選項,以滿足不同的需求。以下是對 docker run
命令以及其可用選項的全面解析:
docker run [選項] <鏡像名稱:標簽> [命令] [參數]
選項
:用于配置容器的各種選項。<鏡像名稱:標簽>
:指定要使用的 Docker 鏡像的名稱和標簽。命令
:要在容器內部執行的命令(覆蓋鏡像中的默認命令)。參數
:傳遞給命令的參數。
以下是一些常用的 docker run
命令選項:
-d
或--detach
:在后臺模式下運行容器。--name <容器名稱>
:為容器指定一個名稱。-p <主機端口>:<容器端口>
:將主機端口映射到容器端口。-v <主機目錄>:<容器目錄>
:將主機目錄掛載到容器目錄,創建數據卷。-e <環境變量>
:設置環境變量。--network <網絡模式>
:指定容器的網絡模式。--rm
:容器退出后自動刪除容器。-i
:交互式模式,通常與-t
一起使用。-t
:為容器分配一個偽終端(TTY)。
除了這些常見選項之外,還有許多其他選項,可以根據需要進一步配置容器。以下是一些其他常用選項:
--hostname
:設置容器的主機名。--user
:指定容器內的用戶。--link
:連接到其他容器。--volume-driver
:指定容器的數據卷驅動程序。--dns
:設置容器的 DNS 服務器。--privileged
:授予容器特權,以便執行特定的操作。--restart
:在容器退出時自動重啟容器。--cap-add
和--cap-drop
:添加或刪除容器的 Linux 內核功能。--device
:允許容器訪問主機上的設備。--ulimit
:設置容器的資源限制。
要了解有關 docker run
命令的更多選項和詳細信息,請參閱 Docker 官方文檔或運行以下命令來查看幫助:
docker run --help
使用 docker run
命令可以根據不同的場景和需求創建和運行容器,定制化程度非常高,因此熟悉其可用選項和用法對于有效使用 Docker 非常重要。
基本示例:
假設我們已經使用pull命令拉取了一個名為nginx的docker鏡像。現在使用 docker run
命令部署一個支持HTTP和HTTPS協議的Nginx網站容器。
docker run -d --name my-nginx-container -p 80:80 -p 443:443 --network bridge nginx
-network bridge
部分可以省略,因為在默認情況下,Docker容器會使用橋接網絡模式。
這個命令將創建并在后臺運行一個名為my-nginx-container
的Nginx容器,該容器支持HTTP和HTTPS協議,并將主機的端口80和443映射到容器內的相應端口。容器將使用默認的橋接網絡模式,允許從主機訪問Nginx網站。
示例:創建tensorflow容器
tensorflow 是一個Google提供的張量運算庫,常用于機器學習相關任務中,使用Docker是其最簡單的環境部署方式。
下載 TensorFlow Docker 鏡像
官方 TensorFlow Docker 鏡像位于 tensorflow/tensorflow Docker Hub 倉庫中。鏡像發布以以下格式進行標記:
標簽 | 描述 |
---|---|
latest | TensorFlow CPU 二進制鏡像的最新發布版本。默認選擇。 |
nightly | TensorFlow 鏡像的每夜構建版本。(不穩定) |
version | 指定 TensorFlow 二進制鏡像的版本,例如:2.8.3 |
每個基本標簽都有添加或更改功能的變體:
標簽變體 | 描述 |
---|---|
tag-gpu | 帶有 GPU 支持的指定標簽發布版本。 (見下文) |
tag-jupyter | 帶有 Jupyter(包括 TensorFlow 教程筆記本)的指定標簽發布版本。 |
可以同時使用多個變體。例如,以下命令將下載 TensorFlow 發布鏡像到你的機器:
docker pull tensorflow/tensorflow # 最新穩定發布版本
docker pull tensorflow/tensorflow:devel-gpu # 夜間開發版帶有 GPU 支持
docker pull tensorflow/tensorflow:latest-gpu-jupyter # 帶有 GPU 支持和 Jupyter 的最新發布版
啟動 TensorFlow Docker 容器
要啟動一個已配置 TensorFlow 的容器,請使用以下命令形式:
docker run [-it] [--rm] [-p hostPort:containerPort] tensorflow/tensorflow[:tag] [command]
使用 CPU-only 鏡像的示例
讓我們使用最新的標記鏡像來驗證 TensorFlow 安裝。Docker 在首次運行時會下載新的 TensorFlow 鏡像:
docker run -it --rm tensorflow/tensorflow \python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
可以看到,在上面運行的 docker run 命令中:
1.
-it
: 這是兩個選項的組合,用于指定在容器內開啟一個交互式終端(-i
表示交互式,-t
表示為終端分配一個偽終端)。這使得用戶可以與容器進行交互,例如在容器內執行命令;2.
--rm
: 這是一個選項,它告訴 Docker 在容器退出時自動刪除容器。這有助于確保容器不會在退出后留下殘留的實例;3.
tensorflow/tensorflow
: 這是要運行的 Docker 鏡像的名稱。在這種情況下,它是 TensorFlow 官方鏡像,用于運行 TensorFlow 環境;4.
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
: 這是在容器內執行的實際命令。它啟動了一個 Python 解釋器,并在其中運行一行 Python 代碼。具體地說,它導入了 TensorFlow 庫,生成一個包含隨機數的矩陣,然后計算這個矩陣的總和并將結果打印出來
讓我們演示一些更多的 TensorFlow Docker 配方。在 TensorFlow 配置的容器內啟動一個 bash shell 會話:
docker run -it tensorflow/tensorflow bash
這個命令中:
bash
: 這是在容器內執行的實際命令。它啟動了一個bash shell會話,讓用戶可以在容器內執行命令和操作容器的文件系統。
在容器內,可以啟動一個 Python 會話并導入 TensorFlow。
要在容器內運行在主機上開發的 TensorFlow 程序,請掛載主機目錄并更改容器的工作目錄(-v hostDir:containerDir -w workDir):
docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py
這個命令的作用是創建一個交互式容器,使用TensorFlow官方鏡像,并將當前主機的工作目錄掛載到容器中的
/tmp
目錄。然后,容器內啟動一個Python解釋器并運行./script.py
腳本,允許用戶在容器內執行與TensorFlow相關的Python代碼。一旦命令執行完畢,由于使用了--rm
選項,容器將被自動刪除,保持環境整潔。其中:
-it
: 這是兩個選項的組合,用于指定交互式終端。-i
表示允許交互式輸入,-t
表示為容器分配一個偽終端,使得用戶可以與容器進行交互。--rm
: 這是一個選項,它告訴Docker在容器退出時自動刪除容器。這有助于確保容器不會在退出后留下殘留的實例。-v $PWD:/tmp
: 這是一個選項,用于將當前主機的工作目錄 ($PWD
) 掛載到容器內的/tmp
目錄。這樣做可以讓容器訪問主機文件系統中的文件,并在容器內進行操作。-w /tmp
: 這是一個選項,用于設置容器的工作目錄為/tmp
,這是上一步中掛載的目錄。tensorflow/tensorflow
: 這是要運行的Docker鏡像的名稱,這里是TensorFlow官方鏡像。python ./script.py
: 這是在容器內執行的實際命令。它啟動了一個Python解釋器,并運行./script.py
腳本。這個腳本應該位于容器內的工作目錄/tmp
中,由于上面的掛載操作,它實際上是主機文件系統中的./script.py
。
當容器內創建的文件暴露給主機時,可能會出現權限問題。通常最好在主機系統上編輯文件。
使用 TensorFlow 的每夜構建版本啟動 Jupyter Notebook 服務器:
docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-jupyter
按照說明操作并在主機的網絡瀏覽器中打開 URL:http://127.0.0.1:8888/?token=…
GPU 支持
Docker 是在 GPU 上運行 TensorFlow 的最簡單方式,因為主機機器只需安裝 NVIDIA? 驅動程序(不需要安裝 NVIDIA? CUDA? Toolkit)。
安裝 Nvidia 容器工具包以在 Docker 中添加 NVIDIA? GPU 支持。nvidia-container-runtime 僅適用于 Linux。有關詳細信息,請參閱 nvidia-container-runtime 平臺支持 FAQ。
檢查是否存在 GPU:
lspci | grep -i nvidia
驗證你的 nvidia-docker 安裝:
docker run --gpus all --rm nvidia/cuda nvidia-smi
注意:nvidia-docker v2 使用 --runtime=nvidia 替代了 --gpus all。nvidia-docker v1 使用 nvidia-docker 別名,而不是 --runtime=nvidia 或 --gpus all 命令行標志。
使用啟用 GPU 的鏡像的示例
下載并運行啟用 GPU 的 TensorFlow 鏡像(可能需要幾分鐘):
docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
設置啟用 GPU 的鏡像可能需要一些時間。如果反復運行基于 GPU 的腳本,你可以使用 docker exec 重用容器。
使用最新的 TensorFlow GPU 鏡像在容器內啟動一個 bash shell 會話:
docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash
成功:TensorFlow 現在已安裝。請閱讀教程以開始使用。
示例:創建mysql容器
和 Tenflow、Nginx等一樣,MySQL同樣可以基于Docker安裝。官方提供了已經部署好MySQL數據庫的Docker鏡像。
步驟 1:拉取MySQL鏡像
使用以下命令從Docker Hub上拉取MySQL官方鏡像:
docker pull mysql:latest
這將下載最新版本的MySQL鏡像到你的本地系統。
步驟 2:創建MySQL容器
使用以下命令創建一個MySQL容器。在此示例中,我們將容器命名為 mysql-container
,設置了root用戶的密碼為 my-secret-pw
,并將主機的端口3306映射到容器的端口3306。
docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 mysql:latest
這將創建并在后臺運行MySQL容器。
這個命令中,創建一個MySQL服務器容器,使其以后臺模式運行。容器被命名為
mysql-container
,并設置了 MySQL root 用戶的密碼為my-secret-pw
。此外,主機的端口 3306 被映射到容器的端口3306
,這樣可以通過主機上的端口來訪問容器內的 MySQL 服務器。這個容器將使用官方MySQL鏡像,運行最新版本的 MySQL 服務器。其中:
-d
: 這個選項表示在后臺模式下運行容器,容器將在后臺運行而不會阻塞終端;--name mysql-container
: 這個選項為容器指定了一個名稱,這里是mysql-container
,你可以根據需要自定義容器名稱;-e MYSQL_ROOT_PASSWORD=my-secret-pw
: 這個選項通過環境變量設置MySQL服務器的root用戶密碼。在這個示例中,密碼被設置為my-secret-pw
,你可以根據需要選擇不同的密碼;-p 3306:3306
: 這個選項將主機的端口3306
映射到容器的端口3306
。容器內的MySQL服務器默認監聽在端口3306
上,這使得可以通過主機上的端口3306
訪問容器內的MySQL服務器;mysql:latest
: 這是要運行的 Docker 鏡像的名稱。在這個示例中,我們使用的是 MySQL 的官方鏡像,latest
表示使用最新版本的MySQL鏡像。
步驟 3:連接到MySQL服務器
你可以使用MySQL客戶端連接到MySQL服務器。在終端中運行以下命令,使用root用戶和之前設置的密碼 my-secret-pw
連接到MySQL服務器:
mysql -h 127.0.0.1 -u root -p
輸入密碼 my-secret-pw
后,你將成功連接到MySQL服務器。
可以看到,在截圖中,我拉取了官方的mysql鏡像,運行它時使用“-e MYSQL_ROOT_PASSWORD=123456
”設置環境變量MYSQL_ROOT_PASSWORD
的值為123456
設置MySQL服務器的root用戶密碼。并且暴露了mysql的默認端口(3306),方便容器外部使用它。
通過exec
進入到容器系統,在容器內部,使用 mysql -h 127.0.0.1 -u root -p
并輸入之前設置的密碼成功登陸了mysql。
3.2 容器和宿主機之間文件拷貝
從宿主機到容器的復制
使用以下命令將宿主機上的文件復制到運行中的容器中(<容器名稱或ID>
和 <宿主機文件路徑>
根據實際情況替換):
docker cp <宿主機文件路徑> <容器名稱或ID>:<容器目標路徑>
示例:
docker cp /path/to/host/file.txt my-container:/tmp/file.txt
從容器到宿主機的復制
使用以下命令將容器內的文件復制到宿主機(<容器名稱或ID>
和 <容器文件路徑>
根據實際情況替換):
docker cp <容器名稱或ID>:<容器文件路徑> <宿主機目標路徑>
示例:
docker cp my-container:/tmp/file.txt /path/to/host/
3.3 使用數據卷掛載
除了上一小節介紹的使用 docker cp
命令進行文件復制,另一種常見的文件在容器和宿主機之間傳遞方法是通過 數據卷掛載 來實現。
你可以在容器中創建數據卷,并將宿主機上的目錄掛載到該數據卷上。這樣,容器和宿主機可以共享文件。
創建數據卷:
使用以下命令創建一個數據卷:
docker volume create my-volume
運行容器并掛載數據卷:
運行容器時,使用 -v
選項將數據卷掛載到容器的指定路徑上(<宿主機目錄>
和 <容器目標路徑>
根據實際情況替換):
docker run -d --name my-container -v my-volume:<容器目標路徑> image-name
例如:
docker run -d --name my-container -v my-volume:/app my-image
在容器和宿主機之間傳遞文件:
現在,你可以在宿主機上將文件復制到數據卷掛載的目錄中,然后容器內的應用程序可以訪問它們。
3.4 共享目錄
共享目錄也是一種在宿主機和容器之間創建共享目錄來實現文件傳遞的方式。這可以通過將宿主機目錄掛載到容器中來實現,類似于數據卷掛載。
-
運行容器并掛載共享目錄:
在運行容器時,使用
-v
選項將宿主機的目錄掛載到容器的指定路徑上(<宿主機目錄>
和<容器目標路徑>
根據實際情況替換):docker run -d --name my-container -v /path/to/host/directory:/container/target/directory image-name
例如:
docker run -d --name my-container -v /host-folder:/container-folder my-image
-
在容器和宿主機之間傳遞文件:
您可以在宿主機上將文件復制到共享目錄,然后容器內的應用程序可以訪問它們。
這些是在Docker容器和宿主機之間進行文件傳遞的幾種常見方法。您可以根據具體的需求選擇最適合您的方法。無論使用哪種方法,都需要謹慎處理文件權限和路徑,以確保文件能夠正確傳遞并在容器內外進行訪問。
3.5 容器管理
容器管理的很多命令都提到過了,比如docker start
、docker stop
等等,這里做一些回顧和補充。
列出容器
要列出所有正在運行的容器,可以使用docker ps
命令:
docker ps
要列出包括停止的容器在內的所有容器,可以添加-a
選項:
docker ps -a
查看容器日志
要查看容器的日志輸出,可以使用docker logs
命令,后跟容器的名稱或ID:
docker logs my-container
進入容器
要進入正在運行的容器的命令行終端,可以使用docker exec
命令:
docker exec -it my-container /bin/bash
其中:
-it
選項表示交互式終端。my-container
是容器的名稱或ID。/bin/bash
是要運行的shell。
停止容器
要停止一個正在運行的容器,可以使用docker stop
命令,后跟容器的名稱或ID:
docker stop my-container
啟動容器
要啟動一個已停止的容器,可以使用docker start
命令,后跟容器的名稱或ID:
docker start my-container
刪除容器
要刪除一個容器,可以使用docker rm
命令,后跟容器的名稱或ID:
docker rm my-container
清理無用容器
Docker中有時會留下未使用的容器。要清理這些無用容器,可以使用以下命令:
docker container prune
監視容器
要監視容器的資源使用情況,可以使用docker stats
命令,后跟容器的名稱或ID:
docker stats my-container
4. 結論
Docker 已經成為現代軟件開發和運維的一個重要工具。它通過容器化技術,提供了一種高效、一致和可移植的方式來部署和管理應用。通過學習本文,讀者可以掌握如何使用 Docker CLI 的基本用法來有效地管理 Docker 容器和鏡像的管理,實現快速部署和運行應用程序的目的。
Docker CLI 提供了豐富的命令和選項,使得用戶可以輕松地執行各種操作,如查找鏡像、拉取鏡像、推送鏡像、創建容器、文件拷貝、數據卷掛載等。這些功能和操作能夠幫助用戶更好地利用 Docker 技術,提高工作效率和便捷性。
總的來說,掌握 Docker CLI 的基本用法對于開發人員和系統管理員來說是非常重要的。通過深入了解和實踐這些命令,用戶可以更好地利用 Docker 技術來構建、部署和管理他們的應用程序,從而提高開發和部署的效率,加快應用交付的速度。希望本文能夠幫助讀者更好地理解和應用 Docker CLI,為其日常工作帶來便利和效益。
如果你對Docker技術還不是很了解,可以考慮從本系列第一篇文章開始閱讀:《Docker技術概論(1):Docker與虛擬化技術比較》。
如果你覺得本文對你有所幫助,請在文章處點贊支持。 雖然這不會使我從中獲得經濟利益,但是你的贊是繼續分享的巨大動力&^_^&