こんにちは! GitHub Webhook を活用した自動デプロイシステム構築シリーズをフォローしていますか?第3回で言及したように、Docker は私たちの CI/CD パイプラインで重要な役割を果たします。

この記事は、まだサーバに Docker がインストールされていない方のために、Ubuntu サーバに Docker EngineDocker Compose を段階的に詳しく案内します。

Upgrade to newest Docker version

1. 以前のバージョンの削除 (オプション)

もし以前に Docker の非公式バージョンをインストールしたことがある場合、まずきれいに削除してから始めることをお勧めします。以下のコマンドを実行して、競合を引き起こす可能性のある既存のパッケージをすべて削除してください。

sudo apt-get remove --purge docker docker-engine docker.io containerd runc docker-compose

重要なデータがない場合は、以前の Docker の痕跡を完全に削除して初期化することをお勧めします。

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
  • 注意: このコマンドはすべてのコンテナ、イメージデータを削除するので、データが重要な場合はバックアップを先に行ってください。

2. Docker 公式リポジトリの設定

Docker の最新バージョンを安定的にインストールするために公式 APT リポジトリを設定する必要があります。

# apt パッケージを更新
sudo apt-get update

# Docker 公式リポジトリ設定のためのパッケージをインストール
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

# Docker の公式 GPG キーを追加
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# APT リポジトリに Docker リポジトリを追加
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker APT リポジトリを有効化
sudo apt-get update

3. Docker Engine のインストール

これで Docker Engine と関連ツールをインストールします。

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

上記のコマンドは Docker Engine、CLI ツール、コンテナランタイム(containerd.io)、そして Docker Compose をプラグイン形式で一緒にインストールします。

4. Docker のインストール確認

インストールが完了したかどうかを hello-world コンテナを実行して確認してください。このコマンドは Docker が正しく動作しているかを確認する簡単なテストです。

sudo docker run hello-world

もし「Hello from Docker!」メッセージが出力されるなら、Docker Engine が正常にインストールされていることになります。

5. sudo なしで Docker コマンドを使用する (必須)

基本的に docker コマンドを実行するには sudo を使用する必要があります。しかし、私たちの自動デプロイシステムでは systemd サービスの一般ユーザーアカウントで docker を実行する必要があるので、sudo なしで docker コマンドを使用できるように権限を設定する必要があります。

  1. 現在のユーザーを docker グループに追加します。
sudo usermod -aG docker $USER
  1. 変更を適用するために 必ずログアウトしてから再ログインする必要があります。

  2. 再ログイン後、sudo なしで docker run hello-world コマンドを再実行して正しく動作するか確認します。

6. Docker Compose のインストール確認

docker-compose-plugin をインストールしたため、別途インストール作業は必要ありません。次のコマンドで docker compose が正常にインストールされているか確認してください。

docker compose version

もし「Docker Compose version v2.x.x」のようなメッセージが出力されれば成功です。

7. まとめ

これで皆さんのサーバーは Docker と Docker Compose をすべて備えることができました。この記事を閉じて、私たちのメインシリーズである GitHub Webhook を活用した自分だけの自動デプロイシステム構築 (第3回) に戻り、次のステップを進んでください。Docker を通じたプロジェクトのコンテナ化と自動デプロイメントの素晴らしい体験が皆さんを待っています!