将其他IP添加到docker容器中的lo接口
我需要在docker容器中的环回(将其他IP添加到docker容器中的lo接口,docker,docker-compose,Docker,Docker Compose,我需要在docker容器中的环回(lo)接口上设置别名。我不知道如何在docker compose文件中执行此操作 我需要在lo界面中添加127.0.0.2、127.0.0.3和127.0.0.4。如何在docker compose文件中完成此操作 在我的mac上,我可以做一些类似于ifconfig lo0 alias 127.0.0.4 up的事情,但我不知道如何在docker容器中完成这项工作。首先,linux默认会响应127.0.0.2-4,因为127.0.0.1/8被分配给lo接口。您可
lo
)接口上设置别名。我不知道如何在docker compose文件中执行此操作
我需要在lo
界面中添加127.0.0.2、127.0.0.3和127.0.0.4。如何在docker compose文件中完成此操作
在我的mac上,我可以做一些类似于
ifconfig lo0 alias 127.0.0.4 up的事情,但我不知道如何在docker容器中完成这项工作。首先,linux默认会响应127.0.0.2-4,因为127.0.0.1/8
被分配给lo
接口。您可能不需要向接口“添加”地址,只需使用它们即可
如果出于某种原因,您需要接口上的特定地址,则需要进入Docker网络的内部。有一个名为的实用程序处理这类事情,这些步骤是从它的代码中提取出来的
获取容器的PID
NSPID=$(docker inspect -f '{{ .State.Pid }}' <container>)
mkdir -p /var/run/netns
rm -f "/var/run/netns/$NSPID"
ln -s "/proc/$NSPID/ns/net" "/var/run/netns/$NSPID"
将IP地址添加到接口
ip netns exec $NSPID ip ad add 127.0.0.2/32 dev lo
确认新配置是否存在
ip netns exec $NSPID ip ad sh lo
这允许您在容器网络名称空间中进行任何更改