📗
DockerをUbuntu環境にインストールする
DockerをUbuntu環境にインストール
インストール前の準備
自分にとって「簡潔で分かりやすかった」のはここ。
Ubuntu20.04の場合、上記サイトUbuntu20.04へのDockerのインストール及び使用方法にあるとおりで、以下のコマンドを順に実行すればOK。
上記サイト中のコマンド例で、Ubuntu20.04以外のバージョンでも利用できるようにadd-apt-repositoryの"focal"の部分を$(lsb_release -cs)
に変更しています。
リポジトリへの登録
sudo apt update
#apt用のおまじない(aptがhttps経由でパッケージをインストール出来るように、等)
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
#公式DockerリポジトリのGPGキーをシステムに追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#UbuntuのCODENAMEに合わせたリポジトリ設定を行う
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
手元のUbuntu18.04(bionic)で実行してみた結果。「取得:」の行にbionicがあるのが確認出来ます。
実行結果
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
#...(途中略)
取得:8 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]
#...(以下略)
ここまで実行した結果、パッケージインストールで利用するリポジトリがUbuntuではなく、Dockerリポジトリからのものになっているかは下記で確認できます。下記でUbuntu18.04の実行例は、まだインストールしていない環境での実行結果なので、「インストールされているバージョン:(なし)」になっています。
リポジトリの確認
#Ubuntu20.04(docker-ceインストール済み)の場合
apt-cache policy docker-ce
docker-ce:
インストールされているバージョン: 5:20.10.10~3-0~ubuntu-focal
候補: 5:20.10.10~3-0~ubuntu-focal
バージョンテーブル:
*** 5:20.10.10~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
100 /var/lib/dpkg/status
...(以下略)
#Ubuntu18.04(docker-ce未インストール)の場合
apt-cache policy docker-ce
docker-ce:
インストールされているバージョン: (なし)
候補: 5:20.10.10~3-0~ubuntu-bionic
バージョンテーブル:
5:20.10.10~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
...(以下略)
インストール実行
ここまででインストール準備は終わっているので、他のパッケージ同様以下のコマンドでインストール出来ます。
インストール実行
sudo apt install docker-ce
これで、Dockerのインストール、デーモン起動、ブート時の起動登録が完了しています。インストールの確認は下記コマンドで出来ます。
dockerサービスの確認
sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-10-26 18:09:11 JST; 16h ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 13808 (dockerd)
Tasks: 26
Memory: 485.1M
CGroup: /system.slice/docker.service
├─13808 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
├─15820 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.2 -container-port 80
└─15828 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.17.0.2 -container-port 80
# ...(以下略)
Active: active (running)になっていれば無事にDockerサービスが起動出来ています。
以上でdocker-ceのインストール作業は完了です。
docker-ceインストール直後のCGroup部分
CGroup: /system.slice/docker.service
└─13808 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
systemd-cgls
sudo systemd-cgls
-.slice
├─user.slice
│...(途中略)
│
└─system.slice
├...(途中略)
├─containerd.service …
│ ├─ 4193 /usr/bin/containerd
│ ├─15843 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 5c520d0ccd2f9289ec1bbc8bd0c>
│ ├─15864 nginx: master process nginx -g daemon off;
│ ├─15908 nginx: worker process
│ ├─15909 nginx: worker process
│ ├─15910 nginx: worker process
│ └─15911 nginx: worker process
│ ...(途中略)
├─docker.service …
│ ├─13808 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
│ ├─15820 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip >
│ └─15828 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.1>
...(以下略)
Discussion