Armadilloフォーラム

Armadillo-ioT G3 で overlays 環境下での Docker 利用

sawada888

2022年10月13日 22時13分

ご存じの方がいましたら、解決方法を教えて頂けませんでしょうか?

Armadillo-ioT G3 にDockerをインストールして利用しているのですが、
overlaysの設定を行うと、Dockerが利用できません。
なお、overlaysの設定を削除した場合は、問題なくDockerを利用できています。

>armadillo:~$ systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
Active: activating (start) since Thu 2022-10-13 13:00:08 UTC; 2min 14s ago
Docs: https://docs.docker.com
Main PID: 2186 (dockerd)
Memory: 59.0M
CPU: 498ms
CGroup: /system.slice/docker.service
mq2186 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain
>armadillo:~$ sudo docker ps -a
random: crng init done
random: 6 urandom warning(s) missed due to ratelimiting
error during connect: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json?all=1: read unix @->/var/run/docker.sock: read: connection reset by peer
>armadillo:~$ systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
Active: failed (Result: exit-code) since Thu 2022-10-13 13:03:22 UTC; 3s ago
Docs: https://docs.docker.com
Process: 2988 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd
Main PID: 2988 (code=exited, status=1/FAILURE)
CPU: 471ms

コメント

at_syunya.ohshio

2022年10月18日 18時14分

大塩です。

この現象につきまして、こちらでも現象が発生することを確認できました。
この原因について調査致しますのでお待ちください。

以上です。

at_syunya.ohshio

2022年11月2日 17時43分

大塩です。

解決方法は分かっておらず申し訳ありませんが、原因はわかりましたのでご報告致します。
通常状態と overlayfs利用状態でログを取りエラーの発生原因を調べたところ、overlayfs側で以下のログが存在していました。

Error starting daemon: rename /var/lib/docker/runtimes /var/lib/docker/runtimes-old: invalid cross-device link

docker.service デーモンは/var/lib/docker/runtime ディレクトリをリネームする処理が入っているようなのですが、overlayfs 利用中ではリネーム出来ず、docker.service がエラーを起こして終了しているようです。
runtime ディレクトリの削除はできるので、一旦削除してrestart をかけてみましたが、こちらの環境では別のエラーが発生したため解決には至っていません。

以上です。
よろしくお願いします。

調査をして頂きありがとうございます。
また、原因を教えて頂きありがとうございました。
overlayfs環境下で、仕様上、dockerを使うことが難しいことが理解できました。