【发布时间】:2019-01-21 20:09:12
【问题描述】:
我正在尝试从 docker hub 与 Nginx docker 通信,而不使用网络堆栈(仅限 unix 套接字)
我尝试创建自己的套接字:
python -c "import socket as s; sock = s.socket(s.AF_UNIX); sock.bind('/tmp/nginx.sock')"
并使用 -v /tmp/nginx.sock:/tmp/nginx.sock 运行 docker
Got:curl: (7) 无法连接到服务器
我也尝试绑定 dockerd 套接字,但我认为这不是最好的做法。
【问题讨论】:
-
如果您使用
ls -l,那么该路径实际上是在主机端还是在容器端的套接字?还是一个空目录? -
python 命令在此路径中创建套接字
-
为什么 nginx 容器会与你挂载到容器中的套接字
/tmp/nginx.sock通信? -
在套接字之后使用 curl 时,您应该指定一个 url,我使用 localhost 这是端口 80 并且 docker 正在侦听端口 80,当这不起作用时,我将 nginx 配置更改为侦听这个unix套接字而不是端口80,但这也不起作用。您建议如何实现所请求的行为?
-
更正:* docker ia 中的 nginx 在端口 80 上侦听