将Docker容器IP添加到主机的/etc/hosts文件

4
我只是在学习Docker,但有一件事似乎让我困惑了。我已经尝试在其他地方寻找答案(当Docker容器启动时向主机/etc/hosts文件添加条目),但没有一个真正解决我的问题。
我正在使用docker-compose版本2,而docker-compose.yml如下所示:
version: "2"
services:
  web:
    image: php:5-apache
    extra_hosts:
      - "example.com:127.0.0.1"
    ports:
      - "80"
    command: php -S 0.0.0.0:80 -t /var/www/html
    working_dir: /var/www/html
    restart: always

我希望能够在主机上访问example.com并指向docker容器。此外,似乎docker容器的IP地址在重新启动后可能会发生变化?有没有办法在重新启动后仍然跟踪IP地址?

我想要的类似于这个:https://github.com/cogitatio/vagrant-hostsupdater

2个回答

2

Docker引擎不会管理主机上的/etc/hosts文件,只会在容器内部进行管理(但最好使用DNS服务)。

您可以通过手动或使用配置管理工具等其他方法修改主机上的/etc/hosts文件。


很有趣的是,如果有一种简单的方法可以设置一个“小型DNS”,并使其按照主题发起者所描述的方式工作,那将是非常有意思的。 - Andrey Agibalov

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接