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 stop 和 docker rm - 停止與刪除容器
作用: 用於停止運行中的容器和刪除已停止的容器。 説明: 容器是可以隨時停止和刪除的,這不會影響你本地的鏡像。
命令示例:
# 1. 停止容器(使用容器名或容器ID)
docker stop my-nginx
# 2. 刪除已停止的容器
docker rm my-nginx
# 強制刪除一個正在運行的容器(不推薦常規使用)
docker rm -f my-nginx
最佳實踐: 通常先 stop 再 rm,以確保數據安全。
總結:一個完整的簡單工作流
現在,讓我們把這五個命令串起來,完成一次完整的容器體驗:
- 獲取鏡像:
docker pull nginx - 查看鏡像:
docker images(確認 nginx 鏡像已存在) - 運行容器:
docker run -d -p 8080:80 --name my-web nginx - 查看狀態:
docker ps(確認容器正在運行) - 訪問應用: 打開瀏覽器,訪問
http://localhost:8080,你會看到 Nginx 的歡迎頁面。 - 停止容器:
docker stop my-web - 刪除容器:
docker rm my-web
恭喜!你已經成功使用最基礎的 Docker 命令完成了一次容器的生命週期管理。這是你踏入容器世界的第一步,接下來可以繼續學習如文件掛載(-v)、環境變量(-e)等更高級的功能。