我是docker的新手,想要以守护进程模式启动它,听取特定的IP地址和端口.在
documentation中,据说这可以通过编写sudo /usr/bin/docker daemon -H 0.0.0.0:5555来完成.然后它说我可以使用此命令docker ps列出正在运行的容器.如果我试试这个,我收到以下消息:
Get 07001: dial unix /var/run/docker.sock: no such file or directory.
- Are you trying to connect to a TLS-enabled daemon without TLS?
- Is your docker daemon up and running?
我无法与之互动.我找了一个解决方案,但没有运气.有什么建议?
附:如何在后台运行此守护程序?我尝试添加&但我一直停留在输出上,直到按下ctrl c.
提前致谢
在Ubuntu(16.04 LTS)上使用docker-ce(17.03.1~ce-0~ubuntu-xenial)执行以下操作以使docker侦听TCP端口而不是套接字.
使用以下内容添加文件/etc/systemd/system/docker.service.d/override.conf:
[Service] ExecStart= ExecStart=/usr/bin/dockerd
使用以下内容添加文件/etc/docker/daemon.json
{ "hosts": [ "tcp://127.0.0.1:2375" ] }
重新加载(systemctl daemon-reload)并重启(systemctl restart docker.service)docker.
供参考:https://github.com/moby/moby/issues/25471
编辑:
小心,所以恶魔只会听取忽略本地请求的网络端口.
要使docker同时监听远程和本地,请编辑daemon.json但保留标准的unix套接字
{ "hosts" : [ "unix:///var/run/docker.sock","tcp://<docker-host-ip-or-localhost>:2375" ] }
Docker守护程序连接选项docs