目錄

執行第一個 Docker 容器:docker run 教學

docker run:下載並啟動容器

我們用網頁伺服器 nginx 當例子:

docker run -d -p 8080:80 --name web nginx

打開瀏覽器到 http://localhost:8080,就會看到 nginx 的歡迎頁面。這一行指令做了這些事:

  1. 本機沒有 nginx 映像檔,所以先從 Docker Hub 下載
  2. 用這個映像檔建立一個新容器,命名為 web
  3. 把主機的 8080 連接埠對應到容器的 80 連接埠
  4. 在背景啟動容器

常用參數

參數作用範例
-d在背景執行(detached)docker run -d nginx
-p 主機:容器連接埠對應-p 8080:80
--name幫容器取名字--name web
-e設定環境變數-e TZ=Asia/Taipei
-v 主機:容器掛載資料夾-v $(pwd)/html:/usr/share/nginx/html
--rm容器停止後自動刪除docker run --rm alpine echo hi
-it互動模式加上終端機docker run -it ubuntu bash

指定版本(tag)

映像檔名稱後面可以加上冒號和版本:

docker run -d -p 8081:80 nginx:1.27

沒寫版本時,預設是 latest。正式環境建議固定版本,避免哪天自動更新到不相容的版本。

管理容器

docker ps            # 列出執行中的容器
docker ps -a         # 列出所有容器,包含已停止的
docker logs web      # 查看容器輸出的日誌
docker logs -f web   # 持續追蹤日誌(Ctrl+C 離開)
docker stop web      # 停止容器
docker start web     # 再次啟動已停止的容器
docker rm web        # 刪除容器(需先停止,或加 -f 強制刪除)

進入執行中的容器

想進到容器裡面看看檔案或除錯,可以用 docker exec:

docker exec -it web bash

輸入 exit 離開,容器仍會繼續執行。有些精簡的映像檔沒有 bash,可以改用 sh。

管理映像檔

docker images        # 列出本機的映像檔
docker pull redis:7  # 只下載、不執行
docker rmi nginx     # 刪除映像檔(需先刪除使用它的容器)
docker system prune  # 清除已停止的容器、沒用到的網路和懸空映像檔

練習

  1. 用 docker run -it --rm ubuntu bash 進入一個 Ubuntu 容器,執行 cat /etc/os-release 看看版本,然後 exit。
  2. 再執行 docker ps -a,確認因為加了 --rm,剛才的容器已經不見了。

下一節我們會寫一個 Dockerfile,把自己的程式打包成映像檔。

更新於 2026年10月12日