
- Docker 教程
- Docker - 首頁
- Docker - 概述
- Docker - 在 Linux 上安裝
- Docker - 安裝
- Docker - Hub
- Docker - 映象
- Docker - 容器
- Docker - 倉庫
- Docker - Compose
- Docker - 使用容器
- Docker - 架構
- Docker - 層
- Docker - 容器和主機
- Docker - 配置
- Docker - 容器和 Shell
- Docker - Dockerfile
- Docker - 構建檔案
- Docker - 公共倉庫
- Docker - 管理埠
- Docker - Web 伺服器
- Docker - 命令
- Docker - 容器連結
- Docker - 資料儲存
- Docker - 卷
- Docker - 網路
- Docker - 安全
- Docker - 工具箱
- Docker - 雲
- Docker - 構建雲
- Docker - 日誌
- Docker - 持續整合
- Docker - Kubernetes 架構
- Docker - Kubernetes 的工作原理
- Docker - 生成式 AI
- Docker - 託管
- Docker - 最佳實踐
- Docker 設定服務
- Docker - 設定 Node.js
- Docker - 設定 MongoDB
- Docker - 設定 NGINX
- Docker - 設定 ASP.Net
- Docker - 設定 MySQL
- Docker - 設定 Go
- Docker - 設定 Rust
- Docker - 設定 Apache
- Docker - 設定 MariaDB
- Docker - 設定 Jupyter
- Docker - 設定 Portainer
- Docker - 設定 Rstudio
- Docker - 設定 Plex
- Docker 設定 - Flame
- Docker 設定 - PostgreSql
- Docker 設定 - Mosquitto
- Docker 設定 - Grafana
- Docker 設定 - Nextcloud
- Docker 設定 - Pawns
- Docker 設定 - Ubuntu
- Docker 設定 - RabbitMQ
- Docker - 設定 Python
- Docker - 設定 Java
- Docker - 設定 Redis
- Docker - 設定 Alpine
- Docker - 設定 BusyBox
- Docker 設定 - Traefik
- Docker 設定 - WordPress
- Docker 有用資源
- Docker - 快速指南
- Docker - 有用資源
- Docker - 討論
Docker - 命令
Docker 命令是用於與 Docker 物件(例如映象、容器和網路)互動的指令,其中一些指令直接作用於 Docker 引擎本身。這些命令幫助開發人員和管理員構建、管理和部署容器化應用程式。
典型的命令包括用於建立和啟動容器的 **docker run**、用於列出正在執行的容器的 **docker ps**、用於從 Dockerfile 建立映象的 **docker build**、用於從登錄檔下載映象的 **docker pull** 以及用於將映象上傳到登錄檔的 **docker push**。結合許多其他有用的命令,它們構成了處理 Docker 化應用程式整個生命週期的一整套實用程式。

Docker 容器命令
您可以使用 Docker 容器命令來管理容器的生命週期。使用這些命令,您可以建立、啟動、停止、檢查或刪除容器。以下是五個最重要的容器命令:
**docker run** - 此命令允許您從指定的 Docker 映象建立一個新容器並啟動它。
$ docker run -d -p 80:80 --name mywebserver nginx

上述命令將啟動一個分離的 (-d) Nginx Web 伺服器容器,將容器的埠 80 釋出到主機上的埠 80 (-p 80:80),並將容器命名為 mywebserver。
**docker ps** - 如果您想列出所有正在執行的容器,可以使用以下命令。
$ docker ps

此命令列出當前在您的系統上執行的所有容器。
**docker stop** - 要停止正在執行的容器,可以使用此命令。
$ docker stop mywebserver

這將停止名為 mywebserver 的容器。
**docker rm** - 要刪除已停止的容器,可以使用 docker rm 命令。
$ docker rm mywebserver

這將刪除名為 mywebserver 的已停止容器。
**docker logs** - 出於除錯目的,如果您想顯示容器的日誌,可以使用 docker logs 命令。
$ docker logs mywebserver

這將顯示名為 mywebserver 的容器的日誌,這對於除錯很有用。
Docker 映象命令
如果您想使用 Docker 映象,Docker 提供了一組方便的命令來管理映象。以下列出五個最重要的映象命令以及示例:
**docker build** - 您可以使用此命令使用 Dockerfile 構建 Docker 映象。Dockerfile 是一個文字檔案,其中包含建立映象及其多個層的指令。
$ docker build -t myimage

上述命令將使用當前目錄 (.) 中的 Dockerfile 構建名為 myimage 的映象。
**docker pull** - 如果您想從 Docker 登錄檔(例如 Docker Hub)拉取映象,可以使用 Docker pull 命令。
$ docker pull ubuntu:latest

當您執行此命令時,它將從 Docker Hub 拉取官方 Ubuntu 映象的最新版本。
**docker images** - 在使用 Docker 時,您經常會需要列出本地所有可用的 Docker 映象。以下 Docker images 命令將幫助您做到這一點。
$ docker images

上述命令列出儲存在您系統本地的所有 Docker 映象。
**docker rmi** - 如果您想從您的機器上刪除特定映象,可以使用此命令。
$ docker rmi myimage

此命令將永久刪除映象 myimage。
**docker tag** - 此命令為映象建立新標籤。Docker 映象中的標籤用於識別和區分映象的不同版本。
$ docker tag myimage myrepo/myimage:v1.0

這將為映象 myimage 建立一個新的標籤 myrepo/myimage:v1.0。
Docker 卷命令
為了資料永續性和容器之間共享資料,可以使用 Docker 卷,因為它允許將資料獨立於容器生命週期儲存。要使用 Docker 卷,以下列出五個有用的命令以及示例:
**docker volume create** - 建立一個新的 Docker 卷。
$ docker volume create myvolume

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

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

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

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

所有重要的 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 命令重新連線到容器的輸入和輸出。