修改容器的hosts文件

时间:2021-04-14 13:58:50

修改容器的hosts文件

1、介绍

docker容器中的hosts文件虽然在宿主机磁盘上/var/lib/docker/containers/xxx/hosts中,但是修改该文件是无效的,需要通过其他手段进行修改。

本文通过在容器器中内建一个脚本,登录容器时,调用该脚本实现修改。

2、操作过程

  1. 登录docker容器

  2. 创建/root/init.sh脚本文件

    [/root/init.sh]

    #!/bin/bash
    echo 127.0.0.1 localhost > /etc/hosts
    echo 192.168.231.30 spark30 >> /etc/hosts
    echo 192.168.231.31 spark31 >> /etc/hosts
    echo 192.168.231.40 spark40 >> /etc/hosts
    echo 192.168.231.41 spark41 >> /etc/hosts
    # 增加该命令,保证能够交互方式进入shell
    /bin/bash
  3. 修改文件执行权限

    $>chmod +x /root/init.sh
  4. 运行容器命令时,指定init.sh

    $>docker exec -ti spark30 /root/init.sh