Docker 安裝與基本指令

Docker 安裝與基本指令|完整教學與操作範例

Docker 是當前 DevOps 與雲端部署中不可或缺的容器技術。本文將完整介紹 Docker 的安裝流程與基本操作指令,附上詳細註解與架構說明,讓新手與工程師能快速理解容器運作與映像檔操作,建立穩定開發與測試環境。

Docker 是什麼?

Docker 是一種容器平台,透過作業系統層級虛擬化技術,將應用程式與執行環境打包在容器中。相較虛擬機,Docker 更輕量、啟動迅速,適合微服務架構。開發者可透過 Docker 建立一致的開發、測試與生產環境,避免「在我電腦可以跑」的問題。

Docker 安裝(Ubuntu)

在 Ubuntu 上安裝 Docker 步驟:


# 更新套件列表
sudo apt update

# 安裝 Docker
sudo apt install -y docker.io

# 啟動 Docker 服務
sudo systemctl start docker

# 設定開機自動啟動
sudo systemctl enable docker

# 查看 Docker 版本
docker --version

將使用者加入 Docker 群組,避免每次操作都需 sudo:


# 將當前使用者加入 docker 群組
sudo usermod -aG docker $USER
# 設定完成後需重新登入才能生效

Docker 基本指令

以下為常用 Docker 指令及功能說明,幫助理解容器操作:

拉取映像檔 (docker pull)

拉取映像檔是將官方或自訂映像檔下載到本地,方便創建容器。映像檔包含程式碼、依賴及設定,確保容器環境一致。


# 下載官方 nginx 映像檔
docker pull nginx

# 下載官方 MySQL 映像檔
docker pull mysql

# 下載 Node.js 映像檔
docker pull node:18

執行容器 (docker run)

執行容器是根據映像檔啟動一個隔離環境,可以設定端口映射、環境變數與後台運行。


# 執行 nginx 容器,-d 背景執行,-p 對應本機 80 端口
docker run -d -p 80:80 nginx

# 執行 MySQL 容器,設定 root 密碼
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=example mysql

# 執行 Node.js 容器,對應本機 3000 端口
docker run -d -p 3000:3000 node:18

容器管理

管理容器可查看運行狀態、啟停及刪除:


# 查看運行中的容器
docker ps

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

# 停止容器
docker stop 

# 啟動容器
docker start 

# 刪除容器
docker rm 

映像檔管理

管理映像檔可查看本地映像檔並刪除不需要的檔案:


# 查看本地映像檔
docker images

# 刪除指定映像檔
docker rmi 

Docker 架構說明

Docker 架構主要包含三個部分:

  • Docker Client:使用者端指令介面,透過 docker 指令與 Docker Daemon 溝通。
  • Docker Daemon:負責管理映像檔、容器、網路與 Volume,可接收 Docker Client 命令或 REST API 呼叫。
  • Docker Registry:存放映像檔的遠端伺服器,例如 Docker Hub,客戶端可拉取或推送映像檔。

架構流程:


# Docker Client -> Docker Daemon -> Container
# Docker Daemon -> Docker Registry (拉取/推送映像檔)

FAQ 常見問題

Docker 是什麼?

Docker 是容器化平台,可將應用程式與執行環境打包在一起,確保跨環境一致性。

如何安裝 Docker?

在 Ubuntu 上使用 apt 安裝 Docker,啟動服務後加入 docker 群組以便非 root 使用者操作。

常用 Docker 指令有哪些?

包括 docker pull、run、ps、stop、rm、images,可操作容器與映像檔。

如何管理容器?

使用 docker ps 查看運行容器,docker start/stop 控制容器,docker rm 刪除不需要的容器。

Docker 適合新手嗎?

Docker 容易上手,新手可快速掌握容器與映像檔概念,快速建立測試環境。

    PAGE TOP