将Docker Container IP添加到Host Machine/etc/Host



我只是在学习Docker的诀窍,但有一件事似乎让我很困惑。我曾试图在其他地方找到问题的答案(当Docker容器启动时,在host/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

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

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

您应该在谷歌上搜索Docker主机更新程序。有许多docker容器使它成为可能,尽管它们中的大多数只适用于Linux主机。

例如,您可以尝试此项目:https://github.com/grachevko/docker-hosts-updater

最新更新