我想使用这个命令公开一个Unix套接字作为一个TCP套接字:
nc -lkv 44444 | nc -Uv /var/run/docker.sock
当我尝试从浏览器访问localhost:44444/containers/json ,它不会加载任何内容,但保持连接打开(加载的东西不断旋转),但控制台(由于-v标志)显示正确的http响应。
任何想法如何得到这个工作?
PS:我知道我可以使用socat,或者只是告诉docker也听一个TCP套接字,但我使用的项目primefaces虚拟机映像,它不会让我修改除/ home之外的任何东西。
Docker无法在Windows上启动:没有足够的内存来启动泊坞窗
停止Nginx Docker容器
Nginx后面的Traefik Docker Swarm模式真实IP
使用PHP,MysqL,Nginx同时运行多个Dockerize项目
.NET Core发布错误:“无法findmsdeploy.exe,请安装并重试”
错误:docker-engine-selinux与2:container-selinux冲突?
docker代理拉窗口10
如何从外部执行内存转储到docker集装箱
Docker与一个nginx和一个共享一个UNIX套接字的uwsgi容器
您只是重定向传入数据,而不是传出数据。 尝试与:
mkfifo myfifo nc -lkv 44444 <myfifo | nc -Uv /var/run/docker.sock >myfifo
见http://en.wikipedia.org/wiki/Netcat#Proxying
编辑:在脚本中,你会想随机生成fifo的名字,并在打开后删除它:
FIFONAME=`mktemp -u` mkfifo $FIFONAME nc -lkv 44444 < $FIFONAME | nc -Uv /var/run/docker.sock > $FIFONAME & rm $FIFONAME fg
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。