1.进入容器内部修改host文件(不推荐,重启容器会失效)
#进入容器
sudo docker exec -it 容器id /bin/sh
#修改容器内的host文件
vi /etc/hosts
#添加要加的内容到末尾
192.168.1.111 www.baidu.com
#保存退出
2.docker run命令添加参数
- 使用
--add-host
参数
docker run -it --name my-alpine --add-host=www.baidu.com:192.168.1.111 docker.io/alpine
3.修改Dockfile文件
- 添加启动脚本
RUN mkdir /data
COPY run.sh /data/
RUN chmod +x /data/run.sh
ENTRYPOINT /bin/sh -c /data/run.sh
run.sh的内容如下:
#向hosts文件追加内容
echo "192.168.1.111 www.baidu.com" >> /etc/hosts
......
#保留终端,防止容器自动退出
/bin/sh
4.docker-compose中添加参数
- 使用extra_hosts可以在启动容器的过程中,把如下对的配置加入容器的host文件中
extra_hosts:
- "somehost:162.242.195.82"
- "otherhost:50.31.209.229"
- 整体配置如下,和image同级
......
external_links:
- mysql:mysql
- redis:redis
- nacos:nacos
networks:
- dev-net
extra_hosts:
- "www.baidu.com:192.168.1.111"
......
- 官网描述