Docker はコンテナ仮想化技術を用いてアプリケーションを開発、配布、実行するためのオープンソースプラットフォームです。
開発環境をコンテナ化することで、環境構築の手間を省くことができ、開発効率を向上できます。 Docker はエンジニアにとって必須の技術です。
本記事では Ubuntu に Docker Engine をインストールする方法を解説します。 インストール方法は公式の dockerdocs/Manuals/Docker Engine をもとにしているので、詳細を知りたい方はそちらを参考に。
Ubuntu のセットアップ
私は Windows に WSL を入れて、開発環境にしています。
WSL は Windows 上で Linux を直接実行できる機能です。 WSL をインストールすることで Windows のデスクトップ環境を使いながら、Linux のコマンドラインツールや開発環境を利用できます。
非常に便利なので、まだの人は WSL をインストールしましょう。 WSL のインストールは以下の記事で解説しています。

Docker のインストール
ではさっそくインストールしていきましょう。
古いバージョンのアンインストール
Docker も日々進化しています。 過去に Docker を入れている場合は、これから入れる最新の Docker Engine と競合するので、アンインストールしておきます。
「入れたことなきいけどなぁ」という人も念のため実行しておけばよいです。
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
では、インストールしていきましょう。
インストールの準備
インストールには apt-get を使います。
まず、これからダウンロードする Docker のパッケージの正しさをチェックするために GPG key をセットアップします。
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
GPG key がセットアップできたら、apt でインストール更新できるように、apt のリポジトリに 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
sudo apt-get update
これで準備は終わりです。
インストール
続いて apt でインストールします。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
これでインストールも終わりです。
Docker が使えるか確認してみましょう。
sudo docker run hello-world
以下のような結果が出力されればインストール成功しています。
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
e6590344b1a5: Pull complete
Digest: sha256:d715f14f9eca81473d9112df50457893aa4d099adeb4729f679006bf5ea12407
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
docker を sudo で実行しているのに気づくでしょう。 一般ユーザで実行するには、もう少し手順を進める必要があります。
インストール後のセットアップ
インストール後のおすすめのセットアップです。
sudo なしで実行できるよに
Docker デーモンは、TCP ポートではなく Unix ソケットにバインドします。 デフォルトでは、Unix ソケットを所有するのは root ユーザーであり、他のユーザーは sudo を使用してのみアクセスできます。 Docker デーモンは常に root ユーザーとして実行されます。
docker コマンドの先頭に sudo を付けたくない場合は、docker という Unix グループを作成し、そこにユーザーを追加します。
以下のコマンドです。
sudo groupadd docker
sudo usermod -aG docker $USER
Ubuntu ではインストール時に docker グループが作成されていたので、sudo groupadd docker
はalready exists
で不要でした。
docker グループに追加できたら、一度ログアウトしログインしなおします。
インストール時に実行してみた helloworld を一般ユーザで実行してみましょう。 成功するはずです。
docker run hello-world
ログの設定
デフォルトは json ファイルでログを吐き出すので非効率的かつ肥大になります。 開発用途であれば、長期間残す必要もないので、軽量な local ロギングかつ、サイズやローテーション回数も小さくしておくとよいです。
/etc/docker/daemon.json
に以下のような設定を追加します。
インストール直後はファイルないので、以下の内容で作成すればよいです。
{
"log-driver": "local",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
おわりに
本記事では Ubuntu に Docker Engine をインストールする方法を解説しました。
以上です。
コメント