はじめに
こんにちは!ラビンです!
今回は、UbuntuのサーバーにDocker EngineとDocker Composeをインストールする手順をサクッと解説します。
Dockerを導入することで、WordPressなどの複雑なサーバー環境も1コマンドで簡単に構築・リセットできるようになります!
この記事では、Docker公式ドキュメントに沿った最も確実な「aptリポジトリを使ったインストール方法」をご紹介します。
対象とする読者
- Ubuntu最新版(26.04)がインストールされたサーバー環境(EC2や自宅サーバーなど)を持っている
- ターミナルからSSH接続などで基本的なLinuxコマンド操作ができる
1. docker環境の初期化
もし過去に古いDockerが入っているとエラーの原因になるので、まずはアンインストールコマンドを実行しておきます。
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
初めてインストールする場合は何も削除されないので安心してください
2. リポジトリのセットアップ
Dockerが提供する公式の場所から最新版を安全にダウンロードできるよう設定を行います。
以下のコマンドを全てコピーして実行してください。
# 1. パッケージ一覧を更新し、必要なツールをインストール
sudo apt-get update
sudo apt-get install ca-certificates curl
# 2. Dockerの公式GPG鍵を保存するディレクトリを作成
sudo install -m 0755 -d /etc/apt/keyrings
# 3. GPG鍵をダウンロードして配置
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 4. 鍵の読み取り権限を設定
sudo chmod a+r /etc/apt/keyrings/docker.asc
# 5. Dockerの公式リポジトリをUbuntuのAptソースに追加
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
# 6. 追加したリポジトリを反映するために再度パッケージ一覧を更新
sudo apt-get update
3. Docker Engineのインストール
準備が整ったので、いよいよDocker本体と、複数のコンテナを管理する必須ツール「Docker Compose」をインストールします!
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
途中で Do you want to continue? [Y/n] と聞かれたら、Y(または y)を入力してEnterを押してください。
4. 動作確認
無事にインストールが成功したかどうか、公式のテスト用コンテナを動かして確認してみましょう。
sudo docker run hello-world
ターミナルに Hello from Docker! という文字から始まるメッセージが表示されれば、インストールは完璧に大成功です!
【豆知識】AWSなどのクラウドを使う場合はもっと簡単!
本記事では「自宅サーバーのUbuntu」を前提としているため、コマンドによる手動インストール手順を解説しました。
しかし、AWSなどのクラウドサービスを利用する場合、AWS Marketplace などで提供されている「最初からDockerがインストール済みのAMI(OSテンプレート)」を選択してサーバーを起動するだけで、ここまでのインストール作業をすべてスキップできちゃいます!
クラウド環境でdockerをインストールする手間を省くために、ぜひ活用してみてください!
【おまけ】一瞬でWordPressを立ち上げる方法
せっかくDocker環境が整ったので、その圧倒的な便利さをすぐに体験してみましょう!
docker-compose.yml を使えば、AWSでも、ラズパイなどの自宅サーバーでも一瞬でWordPressが立ち上がります。
-
AWSの場合のみ:セキュリティグループの設定
ブラウザからアクセスできるようにするため、事前にEC2の「セキュリティグループ」の設定で、インバウンドルールの「HTTP (ポート80)」を「0.0.0.0/0」に開放しておきます。 -
設定ファイルの作成
ターミナルでnano docker-compose.ymlと入力してファイルを作成し、以下の内容をコピペして保存(Ctrl+O→Enter→Ctrl+X)します。services: wordpress: image: wordpress:latest ports: - "80:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wpuser WORDPRESS_DB_PASSWORD: wppass WORDPRESS_DB_NAME: wordpress db: image: mysql:latest environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: wordpress MYSQL_USER: wpuser MYSQL_PASSWORD: wppass -
コンテナの起動
ファイルを作ったのと同じディレクトリで、以下のコマンドを実行します。sudo docker compose up -d -
ブラウザでアクセス
構築した環境に合わせて、開発用パソコンのブラウザから以下のアドレスにアクセスします。-
ラズパイなどの自宅サーバーの場合:
http://サーバーのローカルIPアドレス(例:http://192.168.x.x)
※サーバーのIPアドレスが分からない場合は、サーバーのターミナルでhostname -Iと入力すると確認できます。
※サーバー本体で直接ブラウザを開く場合はhttp://localhostでもアクセス可能です。 -
AWS(EC2)の場合:
http://EC2のパブリックIPv4アドレス
-
ラズパイなどの自宅サーバーの場合:
たったこれだけで、あなた専用のWordPress環境が誕生します!
このままの状態で本格運用するのはやめましょう。
今回のおまけ手順で作成したdocker-compose.ymlは、あくまで「手軽な動作確認用」のものです。
パスワードがwppassなどの簡易なものになっているだけでなく、通信が暗号化(HTTPS化)されていないため、このままブログ記事を書き始めたり、長期間インターネット上に公開し続けるのはセキュリティ上やめておきましょう。
動作確認が終わったら必ずコンテナを停止(sudo docker compose down)し、本格的な環境を構築し直してください。
おわりに
これであなたのUbuntuサーバーに、何でも動かせる強力なDocker環境が整いました!
Dockerとても便利ですよ!