2017-01-22 69 views
0

我开发了一个弹簧启动应用程序并构建一个docker镜像。要让应用程序运行,我必须在/ etc/hosts中添加一行“127.0.0.1:www.hostname.com”。我想在运行docker映像时自动配置此配置。我尝试这样做:我可以配置春季开机码头集装箱的主机文件吗?

docker run --add-host www.hostname.com:127.0.0.1 xxx/name:1.0 

什么,我想到的是:

www.hostname.com:8080 = 127.0.0.1:8080

但它不能正常工作。 请给点建议。谢谢。

+0

--add-host www.hostname.com:127.0.0.1将为containser/etc/hosts添加一个条目,但它不适用于您的主机。 – dormi330

回答

0

如果您运行的容器为--hostname

docker run -d -ti --hostname myhost --name mytest ubuntu /bin/bash 

添加一行172.17.0.3 www.hostname.com到容器的/etc/hosts,其中172.17.0.3是容器本身的私有地址,所以它从容器本身和泊坞窗泊坞窗服务器太内部解决它。

如果您运行容器--add-host例如,

docker run -d -ti --add-host www.hostname.com:127.0.0.1 --name mytest ubuntu /bin/bash 

添加一行​​到容器的/etc/hosts,所以从容器本身解决www.hostname.com127.0.0.1内部。 它的工作原理至少在Docker版本为1.13.0的Linux上。

否则,您可以在系统引导时使用sedCMD中的其他替换命令更改容器的/ etc/hosts,或在docker run上覆盖该命令。