Docker環境の構築

はじめに

Ubuntu に Docker をインストールして、コンテナを動かせる状態にするまでの手順をまとめます。Docker を触るのが初めてでも理解しやすいように、まず用語(Docker / コンテナ / イメージ)をざっくり説明してから進めます。この記事のゴールは「Docker 環境の構築」です(特定のアプリを Docker で動かす話ではありません)。

Dockerとは

Docker は、アプリを 「コンテナ」 という単位で動かすための仕組み(ツール群)です。アプリの実行に必要なもの(ライブラリや設定など)をまとめて扱えるので、環境差分によるトラブルを減らしやすくなります。
Docker を使うときの登場人物は大体この3つです。

コンテナとは

コンテナは、ざっくり言うと 「隔離された実行環境」 です。「別マシンのように見えるプロセス」を作って、その中でアプリを動かします。
ポイントはここです。

Docker Imageとは

Docker Image(コンテナイメージ)は、コンテナの元になる 「実行環境のテンプレート」 です。イメージそのものは読み取り専用で、イメージから起動された実体がコンテナです。

イメージは手元で作る(docker build)こともできますし、配布されているものを取得(docker pull)して使うこともできます。

Dockerのインストール(Ubuntu 24.04 LTS)

今回は、公式のリポジトリ(download.docker.com)を追加して Docker Engine を入れます。
前提: sudo できるユーザーで作業します。

1) 既存のDocker関連パッケージを削除(入っている場合)

sudo apt-get remove -y docker docker-engine docker.io containerd runc

2) 事前パッケージをインストール

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg

3) Docker公式GPGキーの追加

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

4) Docker公式リポジトリを追加

UBUNTU_CODENAME=$(. /etc/os-release && echo "$VERSION_CODENAME")
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu ${UBUNTU_CODENAME} stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5) Docker Engineをインストール

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

docker-compose-plugin まで入れているので、Docker Composedocker compose ... の形式で使えます。

動作確認

バージョン確認

docker --version

hello-worldで確認

初回は権限の都合で sudo docker ... にしています。

sudo docker run hello-world

Hello from Docker! が表示されれば OK です。

実際にコンテナを起動してみる

次の例は、ubuntu:24.04 イメージを取得して(初回はダウンロードされます)、その中で bash を起動します。
抜けるときは exit です。

sudo docker run --rm -it ubuntu:24.04 bash

(任意)sudoなしでdockerを使う(dockerグループ)

毎回 sudo を付けるのが面倒な場合は、ユーザーを docker グループに追加します。

sudo usermod -aG docker "$USER"

追加後は、ログアウト→ログイン(または再起動)で反映されます。
すぐ試したい場合は一時的に newgrp でも OK です。

newgrp docker
docker run --rm hello-world

docker グループは実質 root 権限相当の操作ができるため、共有マシンでは付与先に注意します。

最低限覚えるDockerコマンド

環境構築後に「まず困らない」ための最小セットです。

つまずきポイント

permission denied が出る

Cannot connect to the Docker daemon が出る

Docker Engine が起動していない可能性があります。

sudo systemctl enable --now docker
sudo systemctl status docker --no-pager

まとめ

Ubuntu に Docker(Engine / Buildx / Compose)を入れて、コンテナを動かすところまで確認しました。
次は、適当なイメージ(例: ubuntu:24.04)を docker run --rm -it ... で動かして、コンテナの操作感に慣れるのがおすすめです。


この記事はReo’s Tech Blogの同名記事にも掲載しています。

Reo’s Tech Blogでは、個人開発や日々の技術的な取り組みを記録しています。興味がありましたら、ほかの記事もご覧ください