Closed6

dockerのcontainerをstopしたりkillするとpermission deniedと言われて停止できない。

Matsukura YukiMatsukura Yuki

こんな具合

matsu@dell ~> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy
matsu@dell ~> docker ps -q | head -n 1
ce78792c0391
matsu@dell ~> docker kill ce78792c0391
Error response from daemon: Cannot kill container: ce78792c0391: permission denied

livepatchを有効化した辺りからDockerの挙動が変になったようなタイムライン。しかしながら因果関係はわからない。

Matsukura YukiMatsukura Yuki

sudo systemctl stop dockerしてもプロセスが残り続ける。

matsu@dell ~ [1]> ps axu|grep docker
root        4778  0.1  0.4 3755512 79072 ?       Ssl  19:53   0:06 dockerd --group docker --exec-root=/run/snap.docker --data-root=/var/snap/docker/common/var-lib-docker --pidfile=/run/snap.docker/docker.pid --config-file=/var/snap/docker/2893/config/daemon.json
root        4906  0.1  0.2 2170384 48092 ?       Ssl  19:53   0:09 containerd --config /run/snap.docker/containerd/containerd.toml --log-level error
root        5523  0.0  0.0 719564 10484 ?        Sl   19:53   0:00 /snap/docker/2893/bin/containerd-shim-runc-v2 -namespace moby -id ce78792c039160cf743ef721e245aa69e5af93f56a9db30695688d4610f10653 -address /run/snap.docker/containerd/containerd.sock
root        5524  0.0  0.0 719564  9092 ?        Sl   19:53   0:00 /snap/docker/2893/bin/containerd-shim-runc-v2 -namespace moby -id 347fac2a6dba66daccdf5189b7957939d2b66607cf83a8c6eef5d23b9fe01dff -address /run/snap.docker/containerd/containerd.sock
root        5525  0.0  0.0 719820  9820 ?        Sl   19:53   0:00 /snap/docker/2893/bin/containerd-shim-runc-v2 -namespace moby -id 501c791e9cbe537503e8734e363c350cd723101d1f071b1ae1d29fe90160a590 -address /run/snap.docker/containerd/containerd.sock
root        5526  0.0  0.0 719820 10024 ?        Sl   19:53   0:00 /snap/docker/2893/bin/containerd-shim-runc-v2 -namespace moby -id d47e152bcee4830aa2d18d740c2a864c7c9c77101cd09608b46aad7986724f80 -address /run/snap.docker/containerd/containerd.sock

関連するプロセスをkillコマンドで消していけば落ちる。

Matsukura YukiMatsukura Yuki

dpkgとsnapでdockerがインストールされているのが問題かも。

matsu@dell ~> dpkg -l |grep docker
ii  docker-ce                             5:20.10.17~3-0~ubuntu-impish                 amd64        Docker: the open-source application container engine
ii  docker-ce-cli                         5:20.10.17~3-0~ubuntu-impish                 amd64        Docker CLI: the open-source application container engine
ii  docker-ce-rootless-extras             5:20.10.17~3-0~ubuntu-impish                 amd64        Rootless support for Docker.
ii  docker-scan-plugin                    0.17.0~ubuntu-impish                         amd64        Docker scan cli plugin.
matsu@dell ~> snap list docker
Name    Version   Rev   Tracking     Publisher   Notes
docker  20.10.24  2893  latest/beta  canonical✓  -
# apt remove docker
# snap remove docker

しても回復せず。。。

Matsukura YukiMatsukura Yuki

snap経由で再インストールして復元したら、今度はvolumeがちゃんと復元できていないようで別のエラーが出ちゃいました。

# snap install docker
# snap restore 1

仕方がないので、snapでのインストールは諦めました。
snap経由だとdockerのバージョンが古いのと、不安定という書き込みがあったので。

Matsukura YukiMatsukura Yuki

最終的には、公式が出しているインストール手順であるapt経由でdockerを入れました。
https://docs.docker.com/engine/install/ubuntu/

でも、なんかネットワーク関連が不安定。一部のコンテナにおいてインターネットに出られなくなりました。
dockerのデーモンを再起動しても解決しなかったので、OSを再起動したら直りました。
→ containerが書き出していたファイルが壊れていて起動しないのが問題でした。

Matsukura YukiMatsukura Yuki

正常に動くようになりました。
結果としては、snapdで入れたdockerは挙動が不安定でした。apt経由で入れたdockerでは安定して稼働しています。

このスクラップは2023/06/23にクローズされました