如何在docker-compose中将主机网络暴露给docker容器?

时间:2020-08-13 06:46:39

标签: docker docker-compose

嗯,问题很简单;执行--net=host时如何通过docker-compose

eclipse:
    build:
        context: .
        dockerfile: eclipse-dockerfile
    image: eclipse-docker:latest
    volumes:
        - "$HOME/.Xauthority:/root/.Xauthority:rw"
    networks:
        - "host"
    environment:
        - DISPLAY=$DISPLAY

显然不起作用

1 个答案:

答案 0 :(得分:1)

您可以使用network_mode: "host"

在这篇文章中,主机网络驱动程序仅适用于Linux主机,而Mac的Docker Desktop,Windows的Docker Desktop或Windows Server的Docker EE不支持该主机网络驱动程序。


这是一个快速演示:

docker-compose.yml

version: '3'
services:
  web-svc-in-host-net:
    image: nginx
    network_mode: "host"

撰写:

docker-compose up -d

访问localhost上的nginx(默认情况下,nginx图像在端口80上进行侦听-因此无需在curl示例中指定端口):

curl localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
[...]
</body>
</html>