ubuntu 20.04でdocker rootlessモードを起動する

docker

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

コメント

タイトルとURLをコピーしました