我只是在学习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