[Dockerfile] 在Docker build階段更改hosts


怎么在docker build階段修改hosts啊?試了3種方法:

1.直接在dockerfile里修改/etc/hosts: 不行

2.docker build的時候用--add-host 設置:可行

但是,host太多的時候,寫成一長串很不方便

3. 讓容器不去找/etc/hosts,而是去找我們自定義的hosts文件: 可行

 

# Change hosts finding path
RUN cp /etc/hosts /tmp/hosts
RUN mkdir -p -- /lib-override-hosts && cp /lib/x86_64-linux-gnu/libnss_files.so.2 /lib-override-hosts
RUN sed -i 's:/etc/hosts:/tmp/hosts:g' /lib-override-hosts/libnss_files.so.2
ENV LD_LIBRARY_PATH /lib-override-hosts

# Add hosts by environment
RUN if [ "$TEST_ENV" = "PROD1Set" ]; then \
	echo "Need to add hosts for "${TEST_ENV}; \
	cat myHosts >> /tmp/hosts; \
else \
	echo "No need to add hosts for "${TEST_ENV}; \
fi

# Check hosts
RUN if [ "$REGION" = "US" ]; then \
	host test1.company.com; \
	getent ahosts test1.company.com; \
else \
	host test2.company.com; \
	getent ahosts test2.company.com; \
fi

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM