能書き
おうちサーバー構築報告:予告からのおうちサーバー構築です。
前提
- 我が家のサーバーマシンに Proxmox VE をインストールしている
- ProxmoxVE上に仮想マシンを作成、Ubuntu Server 24.04 LTS を入れている
-
おうちサーバー構築報告:AnsibleでProxmoxVEのゲストマシン4台それぞれ/etcをSubversion管理 - Qiita
- Dockerのインストール先として仮想マシンを1台構築済(IPアドレスは
172.16.1.105
) -
/etc
をSubversion管理
- Dockerのインストール先として仮想マシンを1台構築済(IPアドレスは
目標
- Proxmox VE 上の仮想マシンに Docker をインストール
- docker compose で
hello-world
を実行して動作確認
- docker compose で
参考文献
今回の設定に必要な事前準備などは下記になります。
- Docker確認 - おうちサーバー構築報告:仮想マシンとDocker on Proxmox VE with ZFS - Qiita
- おうちサーバー構築報告:Proxmox VE with ZFS - Qiita
Dockerインストール手順は下記記事を参照させていただきました。
また今回、root
ユーザー以外でDockerを使う為のユーザーグループを設定します。
その他、エラーへの対応など。
インストール
まずはパッケージリストの更新。
sudo apt update
依存パッケージをインストールします。
sudo apt install ca-certificates curl
Dockerリポジトリの公開鍵をUbuntu推奨ディレクトリへ格納します。
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
Dockerの公式リポジトリをシステムに追加します。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker Engineをインストールします。
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
動作確認。
docker --version
docker compose version
Dockerグループ設定
root
ユーザー以外でDockerを使う為のユーザーグループを設定します。
まず、docker
グループが存在する事を確認します。
grep docker /etc/group
存在しないならdocker
グループを作成しましょう。もし既に存在していたらそのまま放置でOKです。
sudo groupadd docker
ユーザーにdocker
グループを付加します。
sudo usermod -aG docker $USER
そうしたら一旦ログアウトして、ログインしなおします。または次のコマンドを実行します。
newgrp docker
sudo
を付けずにdocker
できる筈です。
docker run hello-world
docker compose も一応確認しておきましょう。
cd
mkdir hello-world
cd hello-world
cat <<___ >compose.yaml
services:
hello:
image: hello-world:latest
___
docker compose up -d
docker compose logs
仕舞い
Ubuntuインストール時のdockerの指定は、snapからのインストールになり、コンテナの置き場所に制限が掛かるようです。こんなバッドノウハウがあるとは…悲しいですな。