備忘録です.
Ubuntu Server をインストール
Ubuntu Server 20.04 LTSをダウンロードしてUSBメモリーに書き込み,クリーンインストールします.
Get Ubuntu Server | Download | Ubuntu
Ubuntu Serverをインストール中にDockerなど追加のソフトウェアをインストールするか尋ねられますが,snap版Dockerは少し使いにくいので,やめておきます.SSHをインストールするか聞かれるので,インストールします.
$ hostnamectl Static hostname: mt-servier Icon name: computer-desktop Chassis: desktop Machine ID: ... Boot ID: ... Operating System: Ubuntu 20.04.4 LTS Kernel: Linux 5.4.0-104-generic Architecture: x86-64
Ubuntu Serverのインストールが完了したら,snapdを削除します.aptと併存しているとややこしいからです.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt autoremove --purge snapd
Rootless Dockerをインストール
以下に記載されている通りなのですが,自分なりにまとめます.
Run the Docker daemon as a non-root user (Rootless mode) | Docker Documentation
uidmapとdbus-user-sessionをインストールします.
$ sudo apt install uidmap dbus-user-session
ユーザーの状況を確認します.ここでユーザー名はmt
であるとします.
$ id -u 1000 $ whoami mt $ grep ^$(whoami): /etc/subuid mt:100000:65536 $ grep ^$(whoami): /etc/subgid mt:100000:65536
インストールスクリプトをダウンロードして実行します.rootlessなのでsudoは不要です.
https://get.docker.com/rootless
$ curl -O https://get.docker.com/rootless $ ls rootless $ mv rootless rootless.sh ls rootless.sh $ sh rootless.sh ... [INFO] Installed docker.service successfully. [INFO] To control docker.service, run: `systemctl --user (start|stop|restart) docker.service` [INFO] To run docker.service on system startup, run: `sudo loginctl enable-linger mt` [INFO] Creating CLI context "rootless" Successfully created context "rootless" [INFO] Make sure the following environment variables are set (or add them to ~/.bashrc): export PATH=/home/mt/bin:$PATH export DOCKER_HOST=unix:///run/user/1000/docker.sock
インストールが完了したら,指示通り~/.bashrc
にDOCKER_HOST変数を登録して,後で簡単に使えるようにしておきます.一旦Ubuntu Serverを再起動します.
Docker daemonを起動します.
$ systemctl --user start docker
Dockerのバージョンを取得してみます.
$ docker version Client: Version: 20.10.12 API version: 1.41 Go version: go1.16.12 Git commit: e91ed57 Built: Mon Dec 13 11:40:57 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.12 API version: 1.41 (minimum version 1.12) Go version: go1.16.12 Git commit: 459d0df Built: Mon Dec 13 11:46:12 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.4.12 GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d runc: Version: 1.0.2 GitCommit: v1.0.2-0-g52b36a2d docker-init: Version: 0.19.0 GitCommit: de40ad0
いい感じにrootless Dockerがインストールできました.
次回からは起動時に自動で実行されるように設定しておきます.
$ systemctl --user enable docker $ sudo loginctl enable-linger $(whoami)
これで初期設定は完了です.