【Linux】Ubuntu22.04 LTSにDockerをインストール

Ubuntu22.04 LTSでWeb開発を行いたいので、Dockerをインストールしました。
今回行った手順は、Dockerのリポジトリをセットアップして、そこからインストールする方法です。

古いバージョンのアンインストール

Dockerの古いバージョン(docker、docker.io、docker-engine)がインストールされている場合は、次のコマンドを実行しアンインストールしてください。

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

Dockerリポジトリのセットアップ

ますは、Dockerリポジトリをセットアップします。
セットアップしたDockerリポジトリから、Dockerのインストールやアップグレードができるようになります。

最新のパッケージリストを更新し、必要なパッケージをインストールします。

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

次に、Docker公式の公式GPG鍵を追加します。
コマンドを実行しても特に何も表示されません。
※すでにGPG鍵がある場合は「Overwrite?(y/N)」と表示されるので、yと入力してください

Bash
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

最後にリポジトリをセットアップします。
コマンドを実行しても特に何も表示されません。

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

Dockerのインストール

最初に、最新のパッケージリストを更新します。
こちらを忘れるとインストールできません

Bash
sudo apt-get update

次のコマンドでDockerの最新版をインストールします。

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

インストールできたか確認

インストールされたDocker、Docker Composeのバージョンは、次のコマンドで確認できます。

Bash
docker -v
docker compose version

次のように表示されれば、インストールできています。
※バージョンはインストールした時期によって変わります。

ルート権限(sudo)なしでコマンドを実行できるようにする(※任意)

試しにdockerコマンドを実行してみます。

Bash
sudo docker images

インストール直後だと、次のように表示されると思います。

先ほどのコマンドをsudoなしで実行するとエラーが表示されてしまいます。

sudoなしで実行した場合のエラーメッセージ

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get “http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json”: dial unix /var/run/docker.sock: connect: permission denied

このように、dockerコマンドの実行にはsudoが必要になります。
sudoを用いたくない場合は、dockerという Unix グループを生成してユーザーをそのグループに加えます。 以下のコマンドを実行すれば、sudoなしでdockerコマンドが使えるようになります。
セキュリティ上のリスクがあるので、設定は任意です

Bash
sudo groupadd docker
sudo usermod -aG docker $USER

コマンド実行後、dockerグループに属していることを認識させるため、いったんUbuntuをログアウトして、再ログインしてください。再ログイン後、sudoなしでdockerコマンドが実行できるようになります。
※再ログインしてもエラーが出る場合は、PCを再起動してみてください

Bash
docker images

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA