Docker - 命令



Docker 命令是用於與 Docker 物件(例如映象、容器和網路)互動的指令,其中一些指令直接作用於 Docker 引擎本身。這些命令幫助開發人員和管理員構建、管理和部署容器化應用程式。

典型的命令包括用於建立和啟動容器的 **docker run**、用於列出正在執行的容器的 **docker ps**、用於從 Dockerfile 建立映象的 **docker build**、用於從登錄檔下載映象的 **docker pull** 以及用於將映象上傳到登錄檔的 **docker push**。結合許多其他有用的命令,它們構成了處理 Docker 化應用程式整個生命週期的一整套實用程式。

Lifecycle of Dockerized Applications

Docker 容器命令

您可以使用 Docker 容器命令來管理容器的生命週期。使用這些命令,您可以建立、啟動、停止、檢查或刪除容器。以下是五個最重要的容器命令:

**docker run** - 此命令允許您從指定的 Docker 映象建立一個新容器並啟動它。

$ docker run -d -p 80:80 --name mywebserver nginx 
docker run Command

上述命令將啟動一個分離的 (-d) Nginx Web 伺服器容器,將容器的埠 80 釋出到主機上的埠 80 (-p 80:80),並將容器命名為 mywebserver。

**docker ps** - 如果您想列出所有正在執行的容器,可以使用以下命令。

$ docker ps
docker ps Command

此命令列出當前在您的系統上執行的所有容器。

**docker stop** - 要停止正在執行的容器,可以使用此命令。

$ docker stop mywebserver
docker stop Command

這將停止名為 mywebserver 的容器。

**docker rm** - 要刪除已停止的容器,可以使用 docker rm 命令。

$ docker rm mywebserver
docker rm Command

這將刪除名為 mywebserver 的已停止容器。

**docker logs** - 出於除錯目的,如果您想顯示容器的日誌,可以使用 docker logs 命令。

$ docker logs mywebserver
docker logs Command

這將顯示名為 mywebserver 的容器的日誌,這對於除錯很有用。

Docker 映象命令

如果您想使用 Docker 映象,Docker 提供了一組方便的命令來管理映象。以下列出五個最重要的映象命令以及示例:

**docker build** - 您可以使用此命令使用 Dockerfile 構建 Docker 映象。Dockerfile 是一個文字檔案,其中包含建立映象及其多個層的指令。

$ docker build -t myimage 
docker build Command

上述命令將使用當前目錄 (.) 中的 Dockerfile 構建名為 myimage 的映象。

**docker pull** - 如果您想從 Docker 登錄檔(例如 Docker Hub)拉取映象,可以使用 Docker pull 命令。

$ docker pull ubuntu:latest
docker pull Command

當您執行此命令時,它將從 Docker Hub 拉取官方 Ubuntu 映象的最新版本。

**docker images** - 在使用 Docker 時,您經常會需要列出本地所有可用的 Docker 映象。以下 Docker images 命令將幫助您做到這一點。

$ docker images
docker images Command

上述命令列出儲存在您系統本地的所有 Docker 映象。

**docker rmi** - 如果您想從您的機器上刪除特定映象,可以使用此命令。

$ docker rmi myimage
docker rmi Command

此命令將永久刪除映象 myimage。

**docker tag** - 此命令為映象建立新標籤。Docker 映象中的標籤用於識別和區分映象的不同版本。

$ docker tag myimage myrepo/myimage:v1.0
docker tag Command

這將為映象 myimage 建立一個新的標籤 myrepo/myimage:v1.0。

Docker 卷命令

為了資料永續性和容器之間共享資料,可以使用 Docker 卷,因為它允許將資料獨立於容器生命週期儲存。要使用 Docker 卷,以下列出五個有用的命令以及示例:

**docker volume create** - 建立一個新的 Docker 卷。

$ docker volume create myvolume
docker volume create Command

**docker volume ls** - 列出系統上所有可用的卷。

$ docker volume ls
docker volume ls Command

**docker volume inspect** - 提供有關特定卷的詳細資訊。

$ docker volume inspect myvolume
docker volume inspect Command

**docker volume rm** - 刪除指定的卷。

$ docker volume rm myvolume
docker volume rm Command

**docker volume prune** - 刪除系統上所有未使用的卷,釋放空間。

$ docker volume prune
docker volume prune Command

所有重要的 Docker 命令

以下是一個表格,總結了一些主要的 Docker 容器命令、它們的用例和示例:

命令 用例 示例
docker run 建立並啟動一個新容器 docker run -it ubuntu bash
docker ps 列出正在執行的容器 docker ps
docker ps -a 列出所有容器(包括已停止的容器) docker ps -a
docker start 啟動已停止的容器 docker start my_container
docker stop 停止正在執行的容器 docker stop my_container
docker restart 重啟容器 docker restart my_container
docker rm 刪除已停止的容器 docker rm my_container
docker rmi 刪除映象 docker rmi my_image
docker images 列出所有 Docker 映象 docker images
docker pull 從登錄檔下載映象 docker pull nginx
docker build 從 Dockerfile 構建映象 docker build -t my_image
docker exec 在正在執行的容器中執行命令 docker exec -it my_container bash
docker logs 檢視容器的日誌 docker logs my_container
docker cp 在容器和本地檔案系統之間複製檔案/資料夾 docker cp my_container:/path/to/file /local/path
docker inspect 顯示有關容器或映象的詳細資訊 docker inspect my_container
docker network ls 列出所有 Docker 網路 docker network ls
docker network create 建立一個新的 Docker 網路 docker network create my_network
docker-compose up 使用 docker-compose.yml 檔案建立並啟動容器 docker-compose up
docker-compose down 停止並刪除容器、網路、映象和卷 docker-compose down
docker volume ls 列出所有 Docker 卷 docker volume ls
docker volume create 建立一個新的 Docker 卷 docker volume create my_volume
docker info 顯示系統範圍的資訊 docker info
docker stats 顯示容器資源使用情況統計資訊的即時流 docker stats
docker attach 將本地標準輸入、輸出和錯誤流附加到容器 docker attach my_container

結論

總之,我們在本章中討論的 Docker 命令對於有效管理和部署容器化應用程式至關重要。瞭解這些命令及其常見應用將有助於開發人員和管理員的日常工作,簡化工作流程,確保永續性並最佳化資源消耗。

Docker 命令常見問題

1. docker run 和 docker start 之間有什麼區別?

docker run 命令從映象建立一個新容器並立即啟動它。這結合了兩個步驟:docker create,它建立了一個新容器,以及 docker start,它啟動了一個已停止的容器。與此相反,docker start 用於啟動之前已停止的現有容器。

2. 如何檢視正在執行的 Docker 容器的日誌?

您可以使用 docker logs 命令後跟容器的名稱或 ID 來檢視容器的日誌。例如,docker logs mycontainer 將返回名為 mycontainer 的容器的日誌。您可以使用標誌 -f 緊跟在 docker logs 後,在新增新條目時即時列印日誌。

3. 如何以分離模式執行 Docker 容器?

docker run 中的 -d 標誌代表“分離”模式。當您以分離模式執行容器時,它將在後臺執行,終端不會附加到其標準輸入和輸出。這意味著您可以在容器獨立執行時繼續使用終端執行其他任務。您可以使用 docker attach 命令重新連線到容器的輸入和輸出。

廣告