Docker 是現代軟件開發和運維的必備技能,而掌握幾個核心命令就能讓你快速上手。下面這5個基礎命令是打開容器世界大門的鑰匙。


1. docker pull - 獲取鏡像

作用: 從鏡像倉庫(默認為 Docker Hub)下載鏡像到本地。 説明: 鏡像好比是一個容器的“安裝包”或“模板”。在運行容器之前,你需要先擁有這個鏡像。

命令示例:

docker pull nginx

輸出示例:

Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:...(一串哈希值)
Status: Downloaded newer image for nginx:latest
  • nginx 是鏡像名。
  • 如果沒有指定標籤(tag),默認使用 :latest(最新版)。你也可以拉取特定版本,如 docker pull nginx:1.21

2. docker images - 查看本地鏡像

作用: 列出所有已經下載到本地的 Docker 鏡像。 説明: 拉取或構建鏡像後,可以用這個命令查看鏡像的詳細信息,如倉庫名、標籤、鏡像ID、大小等。

命令示例:

docker images

輸出示例:

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    2d21d843073b   2 weeks ago   142MB
ubuntu       latest    54c9005d3d6a   3 weeks ago   77.8MB

3. docker run - 創建並運行容器

作用: 這是最核心的命令!它根據指定的鏡像創建並啓動一個新的容器。 説明: 你可以通過添加參數來控制容器的行為,例如端口映射、後台運行等。

命令示例:

# 最簡單的運行(前台運行)
docker run nginx

# 最常用的方式:後台運行並映射端口
docker run -d -p 8080:80 --name my-nginx nginx

參數解釋:

  • -d--detach):在後台運行容器。
  • -p 8080:80:將主機的 8080 端口映射到容器的 80 端口。這樣你訪問 http://localhost:8080 就能看到容器內 Nginx 的服務。
  • --name my-nginx:給容器起一個名字(這裏是 my-nginx),便於後續管理。如果不指定,Docker 會隨機生成一個名字。

4. docker ps - 查看運行中的容器

作用: 列出當前正在運行的容器。 説明: 這是監控和管理容器狀態的關鍵命令。

命令示例:

# 查看正在運行的容器
docker ps

# 查看所有容器(包括已停止的)
docker ps -a

輸出示例:

CONTAINER ID   IMAGE   COMMAND                  CREATED         STATUS         PORTS                  NAMES
a8e6d5f47b21   nginx   "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:8080->80/tcp   my-nginx

這裏你可以看到容器的唯一 ID、所使用的鏡像、狀態以及端口映射情況。


5. docker stopdocker rm - 停止與刪除容器

作用: 用於停止運行中的容器和刪除已停止的容器。 説明: 容器是可以隨時停止和刪除的,這不會影響你本地的鏡像。

命令示例:

# 1. 停止容器(使用容器名或容器ID)
docker stop my-nginx

# 2. 刪除已停止的容器
docker rm my-nginx

# 強制刪除一個正在運行的容器(不推薦常規使用)
docker rm -f my-nginx

最佳實踐: 通常先 stoprm,以確保數據安全。


總結:一個完整的簡單工作流

現在,讓我們把這五個命令串起來,完成一次完整的容器體驗:

  1. 獲取鏡像: docker pull nginx
  2. 查看鏡像: docker images(確認 nginx 鏡像已存在)
  3. 運行容器: docker run -d -p 8080:80 --name my-web nginx
  4. 查看狀態: docker ps(確認容器正在運行)
  5. 訪問應用: 打開瀏覽器,訪問 http://localhost:8080,你會看到 Nginx 的歡迎頁面。
  6. 停止容器: docker stop my-web
  7. 刪除容器: docker rm my-web

恭喜!你已經成功使用最基礎的 Docker 命令完成了一次容器的生命週期管理。這是你踏入容器世界的第一步,接下來可以繼續學習如文件掛載(-v)、環境變量(-e)等更高級的功能。