ubuntu-20.04にrootlessモードのdockerと通常のdockerをインストールしたメモ。両方入れて共存させることも可能。
docker rootlessモードの実行
事前準備
自分の環境ではパッケージが少し足りていなかったのでインストールした。入っている場合はここは不要。
$ sudo apt update
$ sudo apt-get install -y uidmap
docoker(rootless)のインストール
docoker(rootless)をインストールする。以下の例はubuntuというユーザでインストールしている。
$ curl -fsSL https://get.docker.com/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 ubuntu`
[INFO] Make sure the following environment variables are set (or add them to ~/.bashrc):
export PATH=/home/ubuntu/bin:$PATH
export DOCKER_HOST=unix:///run/user/1000/docker.sock
環境設定ファイル(.bashrc)の編集
インストール時に環境設定してねと言われているので、環境設定ファイルを編集する。
$ vi ~/.bashrc
...
# 一番下に追記
export PATH=/home/ubuntu/bin:$PATH
export DOCKER_HOST=unix:///run/user/1000/docker.sock
$ source ~/.bashrc
docker rootlesモードを起動してみる
起動方法は以下。
$ systemctl --user start docker
起動しているか確認してみる。今回はコンテナの一覧を表示している。もちろん何も作成していないので、リストにはコンテナは表示されない。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
停止する場合は以下。
$ systemctl --user stop docker
自動起動の設定
自動起動の設定は以下。
$ systemctl --user enable docker
$ sudo loginctl enable-linger ubuntu
dockerのインストール
こちらは通常のroot起動によるdockerのインストールについて。
dockerのアンインストール
古いdockerなどが入っている場合などのために念のためアンインストールしておく。
$ sudo apt-get remove docker docker-engine docker.io containerd runc
dockerのインストール
必要となるパッケージをインストールする。
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
dockerをインストールする。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ sudo echo \
"deb [arch=amd64 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
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
dockerを起動してみる
普通に起動すればOK。
# service docker start
停止も普通に停止可能。
# service docker stop
コメント