備忘録。
TL;DR
/lib/systemd/system/docker.service
を開いて
.diff
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
-ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
+ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -s overlay2
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
ExecStartの末尾に -s overlay2
を付ける
環境
- Ubuntu 18.04 LTS
- Docker CE
- Intel Core i7-8700k
状況
Dockerのデーモンが立たない。以下journalctlのログ。
3月 19 09:28:15 hibikine-ubuntu systemd[1]: Starting Docker Application Container Engine...
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.798499245+09:00" level=info msg="systemd-resolved is running, so using resolvconf: /run/systemd/resolve/resolv.conf"
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.799839330+09:00" level=info msg="parsed scheme: \"unix\"" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.799861547+09:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.799904289+09:00" level=info msg="parsed scheme: \"unix\"" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.799914365+09:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800089701+09:00" level=info msg="ccResolverWrapper: sending new addresses to cc: [{unix:///run/containerd/containerd.sock 0 <nil
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800094944+09:00" level=info msg="ccResolverWrapper: sending new addresses to cc: [{unix:///run/containerd/containerd.sock 0 <nil
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800128469+09:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800136387+09:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800213818+09:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4208082a0, CONNECTING" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800216664+09:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc420802300, CONNECTING" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800229123+09:00" level=info msg="blockingPicker: the picked transport is not ready, loop back to repick" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800403950+09:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc420802300, READY" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: time="2019-03-19T09:28:15.800412148+09:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4208082a0, READY" module=grpc
3月 19 09:28:15 hibikine-ubuntu dockerd[32440]: Error starting daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: overlay, overlay2; Please cleanup or explicitly
3月 19 09:28:15 hibikine-ubuntu systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
3月 19 09:28:15 hibikine-ubuntu systemd[1]: docker.service: Failed with result 'exit-code'.
3月 19 09:28:15 hibikine-ubuntu systemd[1]: Failed to start Docker Application Container Engine.
ダメだったこと
- docker-ceの再インストール
- 手順通りにやってもDockerデーモンを立てるところで死ぬ
-
aufs
を消す- これやっちゃダメね
- Linuxカーネル(
linux-image-extra-virtual
,linux-image-extra-$(uname -r)
)を再インストール
うまくいったこと
/lib/systemd/system/docker.service
を開いて、起動オプションに -u overlay2
を付けた。
.diff
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
-ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
+ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -s overlay2
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
感想
起動ファイルいじっちゃってるので再インストールの度に壊れそう。原因何だろう……。