gpt4 book ai didi

docker - docker 端口可以转发到主机容器上的 unix 文件套接字吗?

转载 作者:IT老高 更新时间:2023-10-28 12:38:28 25 4
gpt4 key购买 nike

运行以下命令失败:

sudo docker run -p unix:///tmp/file.sock:44444 -d image_name

我的端口转发语法有问题还是无法进行这样的配置?

最佳答案

Docker 的 -p 语法不会采用 unix 套接字:

-p=[]      : Publish a container᾿s port to the host (format:
ip:hostPort:containerPort | ip::containerPort |
hostPort:containerPort)

一种解决方案是:

  • 在没有任何 -p 规范的情况下运行您的容器,我们将其命名为 "cont1" (--name cont1)
  • 运行第二个容器:
    • Bind mounts unix 套接字 (-v/tmp/file.sock:/tmp/file.sock) 使其可从容器内访问
    • Links到第一个容器 (--link cont1:cont1) 以便能够连接到它
    • 运行 socat 等工具将流量从 unix 套接字路由到 "cont1:4444" 端点

我不是 socat 专家,但您需要的地址规范应该如下所示:UNIX-LISTEN:/tmp/file.sock,fork,reuseaddr TCP4:cont1:4444

关于docker - docker 端口可以转发到主机容器上的 unix 文件套接字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24956322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com