Docker:从容器访问主机上的服务
我需要使用docker compose安装文件从docker容器访问主机上运行的服务 另外,在这一点上,我不知道我是否能够更改容器中应用程序使用的主机名,以便服务必须在“localhost”主机上可用 我知道如何使用Docker:从容器访问主机上的服务,docker,networking,docker-compose,containers,devops,Docker,Networking,Docker Compose,Containers,Devops,我需要使用docker compose安装文件从docker容器访问主机上运行的服务 另外,在这一点上,我不知道我是否能够更改容器中应用程序使用的主机名,以便服务必须在“localhost”主机上可用 我知道如何使用docker-run:docker-run--net=“host”…-它完全按照我的需要工作:例如,我可以wgethttp://localhost从容器中,我将收到主机web服务器提供的文件 我不知道的是如何在docker compose.yml 我试过这个 version: '3'
docker-run
:docker-run--net=“host”…
-它完全按照我的需要工作:例如,我可以wgethttp://localhost
从容器中,我将收到主机web服务器提供的文件
我不知道的是如何在docker compose.yml
我试过这个
version: '3'
services:
nginx:
container_name: cont
image: ubuntu
command: sleep 10000000
networks:
- host
networks:
host:
但无法重现相同的功能。
我该怎么做?
谢谢 根据文档,您应该使用网络模式:“主机”
语句
最后的docker compose.yaml
是:
version: '3'
services:
nginx:
container_name: cont
image: ubuntu
command: sleep 10000000
network_mode: "host"
非常感谢。这是正确的答案。即使我不能使用它,因为它不能像我在mac上期望的那样工作:对于mac,“主机”是用来运行docker的VM,而不是mac本身,这就是我需要访问的应用程序正在运行的地方。如果您知道如何访问主机Mac,请告诉我。谢谢使用
host.docker.internal
。这应该完全满足您在Mac上的需求。