Ubuntu ServerにDockerをインストールした時のメモ

概要

Ubuntu ServerへDockerをインストールしたので、その時のメモ。

Ubuntuへのdockerのインストール

参考にしたサイトは下記です。

(Github) dockerインストール方法

古いdockerの削除

まず、古いdockerエンジンがインストールされていたら削除します

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

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

Dockerリポジトリの設定を行って、リポジトリからDockerをインストール更新できるようにします。

1
2
3
4
5
6
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release

Docker の公式 GPG キーを追加します。

1
2
$ sudo mkdir -m 0755 -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

次のコマンドを使用して、リポジトリをセットアップします。

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

Dockerエンジンのインストール

パッケージ インデックスを更新しますapt。

1
$ sudo apt-get update

Docker Engine、containerd、および Docker Compose をインストールします。

最新バージョンをインストールするには、次のコマンドを実行します。

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

Hello-worldのイメージを実行して、Dockerエンジンのインストールが成功したことを確認します

1
$ sudo docker run hello-world

以下のようなメッセージが出たら成功です。

1
2
3
4
5
6
7
8
9
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:6e8b6f026e0b9c419ea0fd02d3905dd0952ad1feea67543f525c73a0a790fefb
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Dockerコマンドをユーザーアカウントで実行する

上記手順でインストールした場合、ユーザーアカウントで実行すると下記のようなエラーが出ます。

1
2
docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

ユーザーにdockerコマンドの実行権限が付与されていません。

1
2
$ id <UserName>
uid=1000(<UserName>) gid=1000(<UserName>) groups=1000(<UserName>),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd)

下記コマンドでdockerコマンドへの権限を付けます。

1
$ sudo usermod -aG docker <UserName>
1
2
$ id <UserName>
uid=1000(<UserName>) gid=1000(<UserName>) groups=1000(<UserName>),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd),999(docker)

その後、PCを再起動すると、dockerコマンドが使えるようになります。

1
2
3
4
$ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.