sen*_*atz 7 ubuntu port daemon bind docker
我是docker的新手,想要以守护进程模式启动它,听取特定的IP地址和端口.在文档中,据说这可以通过写作来完成sudo /usr/bin/docker daemon -H 0.0.0.0:5555.然后它说我可以使用此命令列出正在运行的容器docker ps.如果我尝试这个,我收到以下消息:
获取http:///var/run/docker.sock/v1.20/containers/json?all = 1:拨打unix /var/run/docker.sock:没有这样的文件或目录.
- 您是否尝试在没有TLS的情况下连接到启用TLS的守护程序?
- 您的docker守护程序是否正常运行?
我无法与之互动.我找了一个解决方案,但没有运气.有什么建议?
PS如何在后台运行此守护程序?我尝试附加一个&但是我一直停留在输出上,直到按下ctrl + c.
提前致谢
在带有docker-ce(17.03.1~ce-0~ubuntu-xenial)的Ubuntu(16.04 LTS)上执行以下操作,使docker侦听TCP端口而不是套接字.
添加/etc/systemd/system/docker.service.d/override.conf包含以下内容的文件:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
Run Code Online (Sandbox Code Playgroud)
添加/etc/docker/daemon.json包含以下内容的文件
{
"hosts": [
"tcp://127.0.0.1:2375"
]
}
Run Code Online (Sandbox Code Playgroud)
重新加载(systemctl daemon-reload)并重启(systemctl restart docker.service)泊坞窗.
供参考:https://github.com/moby/moby/issues/25471
编辑:
小心,所以恶魔只会听取该网络端口忽略本地请求.要使docker同时监听远程和本地,请编辑daemon.json但保留标准的unix套接字
{
"hosts" : [
"unix:///var/run/docker.sock",
"tcp://<docker-host-ip-or-localhost>:2375"
]
}
Run Code Online (Sandbox Code Playgroud)
Docker守护程序连接选项文档
我找到了解决问题的方法.我指定在IP x和端口y上运行的docker,但docker只监听该套接字.我必须使用unix套接字添加另一个-H标志,以便侦听本地请求:
sudo /usr/bin/docker daemon -H tcp://0.0.0.0:5555 -H unix:///var/run/docker.sock
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11800 次 |
| 最近记录: |