猛牛哥
记录网络点滴生活

在docker-compose.yml中定义命令修改hosts文件

因为使用了他人提供的docker镜像,想对其中某个网络操作修改一下,需要修改某域名指向的IP,这就要修改容器内的/etc/hosts文件。又觉得每次重创建docker后手动去修改很麻烦,所以想到在docker-compose.yml中定义该操作。

查询资料后得到的解决方法如下:

version: '3'

services:
  mirai:
    image: reprover/mirai-http:latest
    tty: true
    command: sh -c 'echo "127.0.0.1 126.com" >> /etc/hosts && /bin/sh'

其中command: sh -c 'echo "127.0.0.1 126.com" >> /etc/hosts && /bin/sh'就是解决这问题的。命令后面附加的 && /bin/sh必不可少,否则容器执行完echo "127.0.0.1 126.com" >> /etc/hosts后会自动退出。实际上如果没有command这行,docker会自动执行/bin/sh这个默认命令。

赞(0) 打赏
猛牛哥原创:猛牛哥的博客 » 在docker-compose.yml中定义命令修改hosts文件

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏