Docker的
-p语法不会采用unix套接字:
-p=[] : Publish a container᾿s port to the host (format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort)
一种解决方案是:
- 运行没有任何
-p
规范的容器,我们将其命名为"cont1"
(--name cont1
) - 运行另一个容器,该容器:
- 绑定安装 unix套接字(
-v /tmp/file.sock:/tmp/file.sock
),以便可以从容器内部访问它 - 链接到第一个容器(
--link cont1:cont1
),以便能够连接到它 - 运行诸如
socat
将流量从unix套接字路由到"cont1:4444"
端点的工具
- 绑定安装 unix套接字(
我不是socat专家,但是您需要的地址规范应如下所示:
UNIX-LISTEN:/tmp/file.sock,fork,reuseaddrTCP4:cont1:4444
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)