[Dockerfile] 在Docker build阶段更改hosts

怎么在docker build阶段修改hosts啊?试了3种方法:

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

2.docker build的时候用--add-host 设置:可行

但是,host太多的时候,写成一长串很不方便

3. 让容器不去找/etc/hosts,而是去找我们自定义的hosts文件: 可行

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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

 

  

 

posted on   张缤分  阅读(4519)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2018-04-19 [Robot Framework] 动态等待,提供默认的等待时间,等待时间可传可不传

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示