在 Alpine Linux 3 底下安裝 docker + docker-compose
- 採用 alpine-standard-3.16.2-x86_64.iso 在 PVE 內建立 VM
- 預計安裝與配置:
- CPU:2vcore / RAM:4GB / Disk:32GB
Alpine 安裝後首次設定
- 使用 root 直接登入(不須密碼)後執行 setup-alpine
- keyboard layout : none
- hostname : alpine-vm
- eth0 :
- ip : 192.168.11.231
- netmask : 255.255.255.0
- gateway : 192.168.11.1
- DNS domain name :
- DNS nameserver : 8.8.8.8
- root New Password : **
- timezone : Asia/Taipei
- Proxy : none
- mirror : 1
- Setup a user : no
- ssh server : openssh
- Allow root ssh login : yes
- ssh key : none
- disk : sda
- to use it : lvm
- to use it : sys
- Erase disk and continue : y
- reboot
安裝與設定 docker docker-compoes
- 設定 /etc/apk/repositories
: http://dl-cdn.alpinelinux.org/alpine/v3.19/main http://dl-cdn.alpinelinux.org/alpine/v3.19/community :
- 安裝 docker docker-compose
apk update apk upgrade --available && sync apk add docker docker-cli-compose
- 設定開機啟動與啟動 docker 服務
rc-service docker start rc-update add docker
其他處理議題
- 非 root 使用 docker 的權限設定
- Exp. jonathan 可以執行 docker 權限
su - root addgroup jonathan docker
- 在 PVE7 的 LXC 內無法啟動 docker 服務
- 參考
- 需要在 /etc/pve/lxc/ID.conf 內增加
lxc.apparmor.profile: unconfined lxc.cap.drop:
這樣才能啟動 docker 服務
- 需要在 /etc/docker/daemon.json 內設定 “storage-driver”: “vfs” 才能將拉下來的 docker images 寫入
- 如果擔心 docker log 長太大也可以在 /etc/docker/daemon.json 內設定自動分割與刪除 Exp. log size 最大 10m, 保留最近 3 份
{ "storage-driver": "vfs", "log-opts": {"max-size": "10m", "max-file": "3"} }