Docker kasutamine operatsioonisüsteemiga Ubuntu - rootless

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

TODO

Ettevalmistamine

Paigaldada docker-ce tavalisel viisil ning lülitada nö süsteemne käivitamine välja, parem teha ka reboot

# systemctl disable --now docker.service docker.socket
# reboot

Kasutajaks on sobiv minna käsuga

# machinectl shell imre@
imre@ubu2020:~$ dockerd-rootless-setuptool.sh install
[INFO] Creating /home/imre/.config/systemd/user/docker.service
[INFO] starting systemd service docker.service
+ systemctl --user start docker.service
+ sleep 3
+ systemctl --user --no-pager --full status docker.service
● docker.service - Docker Application Container Engine (Rootless)
     Loaded: loaded (/home/imre/.config/systemd/user/docker.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-08-08 17:02:05 UTC; 3s ago
       Docs: https://docs.docker.com/go/rootless/
   Main PID: 10710 (rootlesskit)
     CGroup: /user.slice/user-1001.slice/user@1001.service/docker.service
             ├─10710 rootlesskit --net=slirp4netns --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --disable-host-loopback --port-driver=builtin --copy-up=/etc --copy-up=/run --propagation=rslave /usr/bin/dockerd-rootless.sh
             ├─10722 /proc/self/exe --net=slirp4netns --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --disable-host-loopback --port-driver=builtin --copy-up=/etc --copy-up=/run --propagation=rslave /usr/bin/dockerd-rootless.sh
             ├─10743 slirp4netns --mtu 65520 -r 3 --disable-host-loopback --enable-sandbox --enable-seccomp 10722 tap0
             ├─10750 dockerd
             └─10769 containerd --config /run/user/1001/docker/containerd/containerd.toml --log-level info

...

+ DOCKER_HOST=unix:///run/user/1001/docker.sock /usr/bin/docker version
Client: Docker Engine - Community
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:54:08 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:16 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
+ systemctl --user enable docker.service
Created symlink /home/imre/.config/systemd/user/default.target.wants/docker.service → /home/imre/.config/systemd/user/docker.service.
[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 imre`

[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=/usr/bin:$PATH
export DOCKER_HOST=unix:///run/user/1001/docker.sock

Selleks, et kasutaja dockerindus ärkaks peale rebooti automaatselt sobib öelda

# loginctl enable-linger imre

Tulemusena moodustatakse oluline fail

root@ubu2020:~# ls -ld /var/lib/systemd/linger/*
-rw-r--r-- 1 root root 0 Jun 28  2020 /var/lib/systemd/linger/imre

Kasutaja lingering olekut näeb käsu väljundist (sobib pigem anda kasutajana)

# loginctl user-status imre

Passt

TODO

Kasutamine

Konteineri töötamisega kaasnevad protsessid

$ ps aux | egrep "imre|1000"
imre         936  0.2  1.1  20076 11136 ?        Ss   16:10   0:00 /usr/lib/systemd/systemd --user
imre         937  0.0  0.3  22416  3744 ?        S    16:10   0:00 (sd-pam)
imre         945  0.0  1.3 1608472 13440 ?       Ssl  16:10   0:00 rootlesskit --state-dir=/run/user/1115/dockerd-rootless --net=pasta --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --disable-host-loopback --port-driver=implicit --copy-up=/etc --copy-up=/run --propagation=rslave /usr/bin/dockerd-rootless.sh
imre         958  0.0  1.1 1607064 11008 ?       Sl   16:10   0:00 /proc/self/exe --state-dir=/run/user/1115/dockerd-rootless --net=pasta --mtu=65520 --slirp4netns-sandbox=auto --slirp4netns-seccomp=auto --disable-host-loopback --port-driver=implicit --copy-up=/etc --copy-up=/run --propagation=rslave /usr/bin/dockerd-rootless.sh
imre         984  0.0  3.0  73584 29800 ?        Ss   16:10   0:00 pasta --stderr --ns-ifname=tap0 --mtu=65520 --config-net --address=10.0.2.100 --netmask=24 --gateway=10.0.2.2 --dns-forward=10.0.2.3 --no-map-gw --ipv4-only --tcp-ports=auto --udp-ports=auto 958
imre         987  0.1  8.5 1930876 84460 ?       Sl   16:10   0:00 dockerd
imre        1100  0.1  4.7 1720300 46976 ?       Ssl  16:10   0:00 containerd --config /run/user/1115/docker/containerd/containerd.toml
imre        1322  0.0  1.1 1235348 11004 ?       Sl   16:10   0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 59bf861c8c1cdc0aeb71ae2f34728d856a5c7abe7699ae6e82979c504971d32b -address /run/user/1115/docker/containerd/containerd.sock
imre        1342  0.0  0.5   9544  5120 ?        Ss   16:10   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
imre        1351  0.0  0.1   2692  1280 ?        Ss   16:10   0:00 /usr/bin/tini -- nsd -d -c /etc/nsd/nsd.conf
imre        1384  0.0  0.4 1525276 4480 ?        Sl   16:10   0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 1153 -container-ip 172.18.0.2 -container-port 53 -use-listen-fd
imre        1397  0.0  0.4 1599008 4608 ?        Sl   16:10   0:00 /usr/bin/docker-proxy -proto udp -host-ip 0.0.0.0 -host-port 1153 -container-ip 172.18.0.2 -container-port 53 -use-listen-fd
100099      1417  0.0  1.1  33216 11392 ?        S    16:10   0:00 nsd -d -c /etc/nsd/nsd.conf
100099      1419  0.0  3.5  45484 34908 ?        S    16:10   0:00 nsd -d -c /etc/nsd/nsd.conf
100099      1420  0.0  0.5  61404  4976 ?        S    16:10   0:00 nsd -d -c /etc/nsd/nsd.conf
root        1455  0.1  0.9  15016  9060 ?        Ss   16:10   0:00 sshd: imre [priv]
imre        1563  0.2  0.7  15176  7432 ?        S    16:10   0:00 sshd: imre@pts/0
imre        1566  0.0  0.6  12688  6272 pts/0    Ss   16:10   0:00 -bash

Kasutamine

TODO

Kasulikud lisamaterjalid