安裝
- 首先,確保你安裝了 curl:
sudo apt-get update sudo apt-get install -y curl
- 下載並安裝 Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
- 為了確保 Docker Compose 命令可以被系統識別並執行,請將 /usr/local/bin 目錄加入到你的 PATH 環境變數中(如果它還沒有添加):
- 編輯你的 shell 設定檔(如 .bashrc 或 .bash_profile)並新增以下行:
export PATH=/usr/local/bin:$PATH
- 重新載入 shell 設定檔:
source ~/.bashrc # 或者 source ~/.bash_profile
- 驗證 Docker Compose 是否安裝成功:
sudo docker-compose --version
範例
建立以下設定檔為參考用範例並將網頁檔放入,如/dist/spa。
- 建立 docker-compose.yml:
version: '3'
services:
frontend:
build:
context: .
dockerfile: Dockerfile
ports:
- "8087:80"
restart: always
volumes:
- ./dist/spa:/app # 選擇要讀取的位置,可更新後直接重啟
- 建立 Dockerfile:
FROM nginx
RUN mkdir -p /app
COPY nginx.conf /etc/nginx/nginx.conf
- 建立 nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /app;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
執行
- 至專案路徑中輸入下方指令:
sudo docker-compose up --build
重啟
- 至專案路徑中輸入下方指令,即可重啟容器:
sudo docker-compose restart
Docker開機自動啟動
sudo systemctl enable docker
管理 Docker 容器
- 進入執行中的 Docker 容器:
- -i: 進入互動模式(interaactive),讓 Container 的標準輸入保持打開
- -t: 配置一個虛擬終端(pseudo-tty)並綁定到 Container 上
docker exec -it <containerName> bash
docker exec -it <containerName> /bin/bash
# 有些 Image 使用 Alpine Linux,可能沒有 bash,改用 sh
docker exec -it <containerName> /bin/sh
- 退出只需輸入
exit
。
清除沒有執行的 Container、Image 、Network 和 Cache
Options :
- –all , -a : 刪除所有停止的 Container、Image、Network
- –force, -f : 強制刪除不跳出確認提醒
- –volumes : 刪除 Volume
- –filter : 刪除指定 label 的 Container、Image、Network、Volume
docker system prune <options>