Debian12が動くVPSを借りたのでDockerを使えるようにした
What's Debian12(Bookworm)
2023年6月にリリースされたDebianの最新版
Debian -- The Universal Operating System
設定メモ
とりあえずやっておくこと
# apt update
# apt dist-upgrade
# hostnamectl set-hostname dockerhost
# apt install ufw
# ufw default DENY
# ufw enable
外出ししている環境はデフォルトで受信拒否しておく
ディストリビューションのデフォルトでは受信拒否になっているものでも、VPSのOSイメージではデフォルトでポートが開けられていることがあるみたい
ufw enableする前にVPSへSSHで接続している環境だとufw allow 'SSH'しておかないと詰む可能性があるので注意
またufw allow 'SSH'を使うよりufw limit 'SSH'
慣れないうちは全閉じしておいてVPSのWebコンソールのShellを使うほうが安心
Dockerをインストールする
# apt install -y ca-certificates curl gnupg lsb-release
# mkdir -p /etc/apt/keyrings
# curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# apt update
# apt install -y docker-ce docker-ce-cli containerd.io docker-compose docker-compose-plugin
必要に応じてPortainerを動かす
What's Portainer
Portainerを使うとDockerコンテナがGUI管理できて便利!!
Portainer: Docker and Kubernetes Management Platform
Portainerのためのdocker-compose.yamlを書く
# mkdir -p /docker/portainer
# cd /docker/portainer
# nano docker-compose.yaml
# nano /etc/systemd/system/portainer.service
/docker/portainer/docker-compose.yaml
version: "3"
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "9000:9000"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "portainer_data:/data"
volumes:
portainer_data:
/etc/systemd/system/portainer.service
[Unit]
Description=Portainer Container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/local/bin/docker-compose -f /docker/portainer/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /docker/portainer/docker-compose.yml down
[Install]
WantedBy=multi-user.target
Portainerを動かす
# systemctl enable portainer.service
# systemctl start portainer.service