gpt4 book ai didi

docker - 从容器访问本地主机网络而不暴露任何端口?

转载 作者:行者123 更新时间:2023-12-02 19:55:31 24 4
gpt4 key购买 nike

CONTEXT

我可以访问本地网络中其他计算机的某些本地主机。例如,其中之一称为pandahost,因此,如果我在浏览器中浏览pandahost,则可以访问它。

目前,我一直在使用docker,并且具有以下Docker-compose.yml:

version: "3"
services:
myproject:
build:
context: .
dockerfile: Dockerfile-for-my-project-environment
shm_size: 2gb
volumes:
- "D:/project/myproject1/folder:/myproject1"
- "D:/project/myproject2:/myproject2"



我使用此docker-compose文件运行服务 myproject的多个实例,因此,我不想公开任何端口,以避免端口冲突。

到目前为止,除了我无法从服务容器连接到 pandahost之外,一切对于我的 都可以正常工作。

问题

有没有什么方法可以将服务myproject容器连接到pandahost而又不暴露任何端口,也不会破坏拥有myproject服务容器的多个实例的可能性?

最佳答案

如果您知道容器正在打开的端口,则可以使用以下命令简单地获取容器的IP地址:

alias docker_ip_address="docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'"

docker_ip_address $container_ID

或更简单
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $container_ID

在这种情况下,建议您使用docker-compose.yml中的 container_name块命名容器,以简化之前的操作。

关于docker - 从容器访问本地主机网络而不暴露任何端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58305492/

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