【发布时间】:2020-08-21 10:32:40
【问题描述】:
我在 x86 FreeBSD 上。我按照这里的说明进行操作:https://wiki.freebsd.org/Docker。
当我启动 docker 时,我得到了
[root@udoo:dev ]# docker run -it quay.io/skilbjo/router-logs bash
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
所以我重新启动守护进程...
[root@udoo:dev ]# service docker start && docker -dD
Starting docker...
DEBU[0000] Registering GET, /info
DEBU[0000] Registering GET, /images/search
DEBU[0000] Registering GET, /containers/ps
... etc ....
DEBU[0000] Registering POST, /containers/{name:.*}/pause
DEBU[0000] Registering POST, /containers/{name:.*}/exec
DEBU[0000] Registering POST, /containers/{name:.*}/rename
DEBU[0000] Registering DELETE, /containers/{name:.*}
DEBU[0000] Registering DELETE, /images/{name:.*}
DEBU[0000] Registering OPTIONS,
WARN[0000] Kernel version detection is available only on linux
DEBU[0000] Warning: could not change group /var/run/docker.sock to docker: Group docker not found
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
FATA[0000] Error starting daemon: error initializing graphdriver: Failed to find zfs dataset mounted on '/var/lib/docker' in /proc/mounts
其他一些有用的信息(正如文档描述的那样):
[root@udoo:dev ]# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 10.6M 3.74G 23K /zroot
zroot/docker 10.4M 3.74G 10.4M /usr/docker
[root@udoo:dev ]# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 3.88G 10.6M 3.86G - 0% 0% 1.00x ONLINE -
[root@udoo:dev ]# docker version
Client version: 1.7.0-dev
Client API version: 1.19
Go version (client): go1.8.3
Git commit (client): 582db78
OS/Arch (client): freebsd/amd64
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
这里发生了什么?为什么 docker 守护进程不加载?我在研究"/var/lib/docker in /proc/mounts"时发现很少。
编辑:尝试@tarun-lalwani 的建议让我更接近,但还没有完全开始......
DEBU[0000] Warning: could not change group /var/run/docker.sock to docker: Group docker not found
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
DEBU[0000] [zfs] zfs get -rHp -t filesystem all zroot/docker2
DEBU[0000] Using graph driver zfs
DEBU[0000] Using default logging driver json-file
DEBU[0000] Creating images graph
DEBU[0000] Restored 0 elements
DEBU[0000] Creating repository list
DEBU[0000] [bridge] init driver
WARN[0000] port allocator - using fallback port range 49153-65535 due to error: open /proc/sys/net/ipv4/ip_local_port_range: no such file or directory
DEBU[0000] [bridge] found ip address: 172.17.42.1/16
FATA[0000] Error starting daemon: unknown exec driver native
【问题讨论】:
-
你可以尝试创建一个额外的挂载
zfs create -o mountpoint=/var/lib/docker zroot/docker2 -
感谢您的想法...看起来这让我更接近但尚未开始 - 我在帖子的编辑中发布了调试消息...如果您有任何想法...跨度>
-
试试这些
dockerd -dD --exec-opt native.cgroupdriver=systemd或dockerd -dD --exec-opt native.cgroupdriver=cgroupfs -
不幸得到
bash: dockerd: command not found... -
以
docker -dD --exec-opt native.cgroupdriver=systemd(无 dockerd)运行这些命令会得到与上面的编辑相同的结果(未知的 exec 驱动程序),但这可能与使用 dockerd 的命令不同(它不与 FreeBSD 安装一起存在)