sve*_*.to 8 docker docker-compose docker-network
当我在文件中配置内部网络docker-compose
时,通过该ports
选项公开端口将不再起作用。
让我们考虑以下docker-compose.yml
文件:
version: \'3\'\nservices:\n registry:\n image: registry:2\n ports:\n - "127.0.0.1:5000:5000"\n networks: \n - internal\nnetworks: \n internal:\n internal: true\n
Run Code Online (Sandbox Code Playgroud)\n\n当我用 运行它时internal: false
,一切都很好,端口 5000 将映射到主机。当我使用该internal: true
选项运行它时,不再有端口映射:
$ docker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\nde6412f692e7 registry:2 "/entrypoint.sh /etc\xe2\x80\xa6" 10 minutes ago Up 10 minutes registry_registry_1\n
Run Code Online (Sandbox Code Playgroud)\n\n但是,我仍然可以从主机通过内部网络到达该端口:
\n\n$ docker-compose exec registry ip addr\n[...]\n inet 172.23.0.2/16 [...]\n$ curl -v 172.23.0.2:5000\n[...]\n> GET / HTTP/1.1\n[...]\n< HTTP/1.1 200 OK\n[...]\n
Run Code Online (Sandbox Code Playgroud)\n\n因此,应该没有技术原因docker-proxy
无法将容器端口代理到主机,或者我错过了什么?
归档时间: |
|
查看次数: |
1682 次 |
最近记录: |