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

Ubuntu20.04 LTSでWeb開発を行いたいので、Dockerをインストールしました。
今回行った手順は、Dockerのリポジトリをセットアップして、そこからインストールする方法です。
他にも方法はあるのですが、インストールやアップグレードが簡単なため、こちらの方法がお勧めです。

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

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

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

もし、Dockerがインストールされていない場合は、次のように表示されます。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package docker-engine

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

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

最初にパッケージをインストールできるようにします。

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

次に、Docker公式の公式GPG鍵を追加します。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

最後にリポジトリをセットアップします。
次のコマンドでは安定版(stable)リポジトリをセットアップできます。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

※安定版の他に、最新版(nightly)テスト版(test)があり、これらのリポジトリを追加したい場合は、上のコマンドのtableの文字に後に、nightlytestの文字を加えてください。
基本的には、安定版だけでよいと思います。

Dockerのインストール

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

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

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

docker -v

また、Docker Composeのバージョンは、次のコマンドで確認できます。

docker compose version

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

Dockerのインストールが終わったら、試しにdockerコマンドを実行してみます。

sudo docker images

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

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

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

Got 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を入力するのはめんどくさいので、sudoを用いたくない場合は、dockerという Unix グループを生成してユーザーをそのグループに加えます。 以下のコマンドを実行すれば、sudoなしでdockerコマンドが使えるようになります。

sudo groupadd docker
sudo usermod -aG docker $USER

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

docker images

コメントを残す

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

CAPTCHA