我用这个conf创建了一个macvlan:
sudo docker network create -d macvlan \
--subnet=192.168.4.0/24 \
--gateway=192.168.4.1 \
-o macvlan_mode=bridge \
-o parent=eth0 macvlan70
然后我使用:
运行高山图像docker run --net=macvlan70 --hostname=thehost --ip=192.168.4.17 -it alpine /bin/sh
此时我搬到了局域网中的另一台机器 - 主机无法连接没有桥接器的Macvlan容器。
我可以ping 192.168.4.17
成功。但ping thehost
不会产生。在路由器管理页面中,可以识别ip 192.168.4.17
但没有关联的主机名。
答案 0 :(得分:1)
正如它在docker docs中说的那样,用户定义的主机名在容器外部不可用。
即使在主机网络模式下,容器默认也有自己的UTS命名空间。因此 - 在主机网络模式下允许使用主机名,并且只会更改容器内的主机名