我在shell中使用-H fd://启动了docker守护进程,但它出错了。操作系统为CentOS7。
# docker daemon -H fd://
FATA[0000] No sockets found我可以从systemctl start docekr开始。
# cat /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd://
# ps -ef|grep docker
/usr/bin/docker daemon -H fd://在admin guide中,它说
在基于Systemd的系统上,您可以通过Systemd套接字激活与守护程序通信,使用docker守护程序-H fd://。使用fd://将完美地用于大多数设置,但您也可以指定单独的套接字: docker守护进程-H fd://3.如果未找到指定的套接字激活文件,则Docker将退出。您可以在Docker源码树中找到通过Docker和Systemd使用Systemd套接字激活的示例。
所以我不能在shell中使用-H fd://?
发布于 2018-07-01 04:21:17
编辑docker守护程序的systemd配置文件,删除H fd://并更新ExecStart变量,如下所示:
# cd /etc/systemd/system/docker.service.d
[root@docker docker.service.d]# cat override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock重新加载守护进程并启动服务
systemctl daemon-reload
systemctl start docker
systemctl status docker |grep running活动:自星期六开始活动(运行) 2018-06-30 14:52:49 CDT;1分钟56秒前Jun 30 14:52:48 docker dockerd16917: time="2018-06-30T14:52:48.685718828-05:00“level=info msg="Firewalld运行: true”root@docker docker.service.d#
发布于 2017-04-14 17:36:35
要启动docker守护进程,fd://意味着它正由Systemd启动,侦听套接字由Systemd创建并传递给docker守护进程。因此,如果您尝试从终端使用它,它将失败,因为您没有创建套接字并将其传递给docker守护进程。对于docker cli,如果您有tcp socket侦听,则可以使用与tcp协议相同的方式。
我在https://stackoverflow.com/a/43408869/1000254上回答了一个类似的问题,你可以参考它来了解更多细节。
https://stackoverflow.com/questions/37478573
复制相似问题