1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UbuntuサーバーにDockerをインストールする(2026)

1
Posted at

はじめに

こんにちは!ラビンです!

今回は、UbuntuのサーバーにDocker EngineDocker 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が立ち上がります。

  1. AWSの場合のみ:セキュリティグループの設定
    ブラウザからアクセスできるようにするため、事前にEC2の「セキュリティグループ」の設定で、インバウンドルールの「HTTP (ポート80)」を「0.0.0.0/0」に開放しておきます。

  2. 設定ファイルの作成
    ターミナルで nano docker-compose.yml と入力してファイルを作成し、以下の内容をコピペして保存(Ctrl+OEnterCtrl+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
    
  3. コンテナの起動
    ファイルを作ったのと同じディレクトリで、以下のコマンドを実行します。

    sudo docker compose up -d
    
  4. ブラウザでアクセス
    構築した環境に合わせて、開発用パソコンのブラウザから以下のアドレスにアクセスします。

    • ラズパイなどの自宅サーバーの場合:
      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とても便利ですよ!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?