Monday, June 18, 2018

docker - Cannot write to /etc/hosts file from Dockerfile with RUN



I am making a docker image using a pretty simple Dockerfile. Inside the Dockerfile I have this command:




RUN printf "192.92.13.243 www.hahaha.com \n" >> /etc/hosts


The command itself seems to be OK, since creation of the image does not halt at this point.



The issue is this: When running the image, the line that is supposed to have been inserted inside "/etc/hosts" is not there.



Now, I searched around and found out that before version 1.2 of docker, there was an issue with the hosts file inside the containers. In my case, I am using version 1.5, the latest as of this moment.



Am I missing something?




UPDATE 1:



There seem to be a lot of issues for this, both open and closed, in docker's github pages.


Answer



After writing the update to my question I decided to take one more hard look at the "issues" opened in github. Turns out, a workaround has been implemented:



docker run ... --add-host='server:0.0.0.0' ...



Using the "--add-host..." argument when starting a container it is possible to modify the hosts file.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...