Docker:从容器访问主机上的服务

时间:2018-02-23 07:58:32

标签: docker networking docker-compose containers devops

我需要使用docker-compose安装文件从docker容器访问主机上运行的服务。

另外,此时我不知道我是否能够更改容器中app的主机名,因此必须在'localhost'主机上提供服务。

我知道如何使用docker run执行此操作:docker run --net="host" ... - 它完全按照我的需要运行:例如,我可以从容器中wget http://localhost,我将收到由主机提供的文件网络服务器。

我不知道如何在docker-compose.yml

中配置相同的内容

我试过这个

version: '3'

services:

  nginx:
    container_name: cont
    image: ubuntu
    command: sleep 10000000
    networks:
      - host

networks:
  host:

但是无法重现相同的功能。 我怎么做? 谢谢!

1 个答案:

答案 0 :(得分:2)

根据docker-compose文档,您应该使用network_mode: "host"声明。

最终docker-compose.yaml是:

version: '3'
services:
  nginx:
    container_name: cont
    image: ubuntu
    command: sleep 10000000
    network_mode: "host"