簡介
Docker 是一個開源平台,為開發人員提供了以簡化的方式建立、打包和部署應用程式所需的一切。借助 Docker 的容器技術,您可以將應用程式及其所有依賴項捆綁到一個獨立的單元中,該單元可以輕鬆地跨不同平台移動並在容器中無縫運行。但是,要充分利用 Docker 提供的功能,您必須熟悉其命令列介面 (CLI)。在本文中,我們將引導您了解每個開發人員和系統管理員工具包中都應具備的必備 Docker 命令。
目錄
為什麼需要 Docker 命令?
Docker 命令對於管理 Docker 容器和映像並與之互動至關重要。它包括建立、運行、停止、刪除容器以及從 Dockerfile 建立映像。此外,它還能夠運行列出即時容器、檢查容器狀態、在主機和容器之間傳輸檔案以及管理 Docker 網路和 Docker 磁碟區等任務。在使用中,無法達到利用Docker容器化應用程式、實現可移植性、易於跨平台部署的理想狀態。
如何使用Docker命令?
以下是使用 Docker 命令的一些常見方法:
- 運行一個容器:
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
此命令從指定的映像建立並啟動一個新容器。 - 列出正在運行的容器:
docker ps
列出所有目前正在運行的容器。 - 停止容器:
docker stop CONTAINER_ID
停止由其 ID 或名稱指定的正在運行的容器。 - 移除一個容器:
docker rm CONTAINER_ID
從系統中刪除已停止的容器。 - 拉取鏡像:
docker pull IMAGE[:TAG|@DIGEST]
從登錄檔(例如,Docker Hub)下載指定的映像。 - 建構影像:
docker build [OPTIONS] PATH | URL | -
根據 Dockerfile 中的指令建立新映像。 - 列出影像:
docker images
列出本機系統上的所有可用影像。 - 刪除影像:
docker rmi IMAGE[:TAG|@DIGEST]
從本機系統中刪除指定的映像。 - 在容器中運行命令:
docker exec [OPTIONS] CONTAINER_ID COMMAND [ARG...]
在正在運行的容器中執行指定的命令。 - 查看日誌:
docker logs CONTAINER_ID
取得指定容器的日誌。
這些只是幾個例子。下面,我提供了 docker 指令清單。您還可以透過運行來探索更多命令及其選項 docker --help
或參考 官方Docker文檔.
以下是頂級 Docker 命令的列表
Docker版本
docker version
命令顯示系統上安裝的目前 Docker 版本。它提供有關 Docker 客戶端和伺服器版本的資訊以及各種其他詳細信息,例如作業系統、體系結構和核心版本。
用法
docker version
碼頭搜尋
docker search
命令可讓您在 Docker Hub(Docker 映像的官方註冊表)上搜尋 Docker 映像。您可以按名稱搜尋圖像或使用關鍵字來尋找相關圖像。
用法
docker search <image_name>
碼頭工人拉
docker pull
命令將 Docker 映像從註冊表(例如 Docker Hub)下載到本機。在創建容器之前,您需要從中提取映像。
用法
docker pull <image_name>:<tag>
碼頭運行
docker run
命令是最常用的 Docker 命令之一。它從指定的映像建立一個新容器並啟動它。您可以傳遞各種選項來自訂容器的行為,例如公開連接埠、安裝磁碟區和設定環境變數。
用法
docker run [OPTIONS] <image_name>:<tag> [COMMAND] [ARG...]
碼頭工人
docker ps
命令列出系統上目前正在運行的所有容器。預設情況下,它僅顯示正在運行的容器,但您可以使用 -a
標誌列出所有容器(正在運行和已停止)。
用法
docker ps
docker ps -a
碼頭工人站
docker stop
命令停止一個或多個正在運行的容器。您可以透過名稱或 ID 指定容器。
用法
docker stop <container_name_or_id>
docker重啟
docker restart
命令重新啟動一個或多個正在運行的容器。它首先停止容器,然後再次啟動它們。
用法
docker restart <container_name_or_id>
碼頭工人殺死
docker kill
命令透過發送 KILL 訊號強制停止正在運行的容器。當 docker stop
命令無法正常停止容器。
用法
docker kill <container_name_or_id>
碼頭執行者
docker exec
命令在正在運行的容器內運行新命令。這對於在不啟動新 shell 的情況下檢查或排除容器故障非常有用。
用法
docker exec [OPTIONS] <container_name_or_id> [COMMAND] [ARG...]
碼頭登入
docker login
命令使用 Docker 註冊表(例如 Docker Hub)對您進行身份驗證。您需要經過身份驗證才能將映像推送到註冊表。
用法
docker login [OPTIONS] [SERVER]
docker commit
docker commit
命令根據容器的變更建立新映像。這對於捕獲正在運行的容器的狀態並基於該狀態建立新映像非常有用。
用法
docker commit [OPTIONS] <container_name_or_id> [REPOSITORY[:TAG]]
碼頭工人推
docker push
命令將映像上傳到 Docker 註冊表,例如 Docker Hub。在推送鏡像之前,您需要透過註冊表進行身份驗證。
用法
docker push <image_name>:<tag>
碼頭網絡
docker network
命令管理 Docker 網路。它允許您建立、檢查和管理容器之間通訊的網路。
用法
docker network [COMMAND] [ARG...]
碼頭工人歷史
docker history
命令顯示影像的歷史記錄,包括組成影像的圖層以及用於建立每個圖層的命令。
用法
docker history <image_name>:<tag>
碼頭工人rmi
docker rmi
命令從本機系統中刪除一個或多個映像。在刪除鏡像本身之前,您需要停止並刪除基於該鏡像的所有容器。
用法
docker rmi <image_name>:<tag>
泊塢窗ps -a
docker ps -a
命令列出系統上的所有容器(正在運作和已停止)。這是一個有用的命令,用於獲取計算機上所有容器的概述。
用法
docker ps -a
碼頭工人副本
docker copy
命令在容器和本機檔案系統之間複製檔案或目錄。
用法
docker copy [OPTIONS] <container_name_or_id>:<src_path> <dest_path>
docker copy [OPTIONS] <src_path> <container_name_or_id>:<dest_path>
碼頭工人日誌
docker logs
命令從容器檢索日誌輸出。這是對容器進行故障排除和調試的重要命令。
用法
docker logs [OPTIONS] <container_name_or_id>
泊塢窗卷
docker volume
命令管理 Docker 卷。磁碟區用於保存 Docker 容器產生的資料。
用法
docker volume [COMMAND]
碼頭工人登出
docker logout
命令從 Docker 註冊表中註銷。
用法
docker logout [SERVER]
現在,您只知道一些基本的 Docker 命令,但 Docker 附帶了更多命令和選項,可協助您管理和使用容器。在上面的較長範例中,Docker 命令列介面提供了一種強大且靈活的方法來與 Docker 容器和映像進行互動。當從註冊表中提取映像、運行容器或管理網路和磁碟區時,這些 Docker 命令可以優化您的工作流程並最大限度地發揮容器技術的潛力。
另請閱讀: 為有抱負的資料工程師提供的 Docker 端到端指南
獎勵:附加命令
碼頭圖片
列出本機儲存庫中的所有 Docker 映像。
- 用法:
docker images
- 產量:顯示每個鏡像的鏡像 ID、儲存庫名稱、標籤和大小。
碼頭工人
刪除一個或多個 Docker 容器。
- 用法:
docker rm [container_id or container_name]
- 產量:刪除指定的容器。
碼頭建設
從 Dockerfile 建立 Docker 映像。
- 用法:
docker build [options] [path]
- 選項:
-t repository:tag
指定建置鏡像的儲存庫和標籤。-f Dockerfile
在建置上下文中指定除預設 Dockerfile 之外的 Dockerfile。
另請閱讀: Docker 教學:初學者分步教程
結論
總之,這些頂級 Docker 命令旨在協助管理容器、映像、網路、日誌和其他資源(例如磁碟區)。一旦學習如何使用這些命令,您就可以完成多項任務,包括執行容器、檢視日誌、管理映像和使用磁碟區。嘗試在 Docker 專案中使用這些命令來改進您的工作並充分利用 Docker 平台。
在評論部分,請讓我們知道這些 Docker 命令對您有多有用。我們很想聽聽您的聲音。