如何在docker-compose中将public端口分配给端口5900
How to assign public port to port 5900 in docker-compose
我有以下 YAML 文件:
seleniumhub:
image: selenium/hub
ports:
- 4444:4444
火狐节点:
image: selenium/node-firefox-debug
ports:
- 4577
links:
- seleniumhub:hub
expose:
- "5900"
chromenode:
image : selenium/node-chrome-debug
ports:
- 4578
links:
- seleniumhub:hub
expose:
- "5900"
docker ps:
time="2017-04-01T17:57:44+03:00" level=info msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d2ccb193b54 selenium/node-firefox-debug "/opt/bin/entry_po..." 6 seconds ago Up 5 seconds 5900/tcp, 0.0.0.0:32785->4577/tcp dockercompose_firefoxnode_1
4be6223fe043 selenium/node-chrome-debug "/opt/bin/entry_po..." 6 seconds ago Up 5 seconds 5900/tcp, 0.0.0.0:32784->4578/tcp dockercompose_chromenode_1
7d95d3e73016 selenium/hub "/opt/bin/entry_po..." 7 seconds ago Up 6 seconds 0.0.0.0:4444->4444/tcp dockercompose_seleniumhub_1
但是每当我在 Docker 快速启动终端中 运行 下面的命令时:
docker port 9d2ccb193b54 5900
我得到以下:
Error: No public port '5900/tcp' published for 9d2ccb193b54
而且我无法通过 VNC 连接到节点机器
对于 firefoxnode
试试这个配置:
image: selenium/node-firefox-debug
ports:
- 4577
- 5900
links:
- seleniumhub:hub
expose:
- "5900"
expose
不会将端口发布到主机,只能被链接服务访问。它适用于容器间通信。 ports
会将那个端口暴露给主机。
公开端口的语法是:
ports:
- "host:container"
你的情况:
image: selenium/node-firefox-debug
ports:
- 4577
- "5900:5900"
links:
- seleniumhub:hub
我有以下 YAML 文件:
seleniumhub:
image: selenium/hub
ports:
- 4444:4444
火狐节点:
image: selenium/node-firefox-debug
ports:
- 4577
links:
- seleniumhub:hub
expose:
- "5900"
chromenode:
image : selenium/node-chrome-debug
ports:
- 4578
links:
- seleniumhub:hub
expose:
- "5900"
docker ps:
time="2017-04-01T17:57:44+03:00" level=info msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9d2ccb193b54 selenium/node-firefox-debug "/opt/bin/entry_po..." 6 seconds ago Up 5 seconds 5900/tcp, 0.0.0.0:32785->4577/tcp dockercompose_firefoxnode_1
4be6223fe043 selenium/node-chrome-debug "/opt/bin/entry_po..." 6 seconds ago Up 5 seconds 5900/tcp, 0.0.0.0:32784->4578/tcp dockercompose_chromenode_1
7d95d3e73016 selenium/hub "/opt/bin/entry_po..." 7 seconds ago Up 6 seconds 0.0.0.0:4444->4444/tcp dockercompose_seleniumhub_1
但是每当我在 Docker 快速启动终端中 运行 下面的命令时:
docker port 9d2ccb193b54 5900
我得到以下:
Error: No public port '5900/tcp' published for 9d2ccb193b54
而且我无法通过 VNC 连接到节点机器
对于 firefoxnode
试试这个配置:
image: selenium/node-firefox-debug
ports:
- 4577
- 5900
links:
- seleniumhub:hub
expose:
- "5900"
expose
不会将端口发布到主机,只能被链接服务访问。它适用于容器间通信。 ports
会将那个端口暴露给主机。
公开端口的语法是:
ports:
- "host:container"
你的情况:
image: selenium/node-firefox-debug
ports:
- 4577
- "5900:5900"
links:
- seleniumhub:hub