Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将其他IP添加到docker容器中的lo接口_Docker_Docker Compose - Fatal编程技术网

将其他IP添加到docker容器中的lo接口

将其他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接口。您可

我需要在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
接口。您可能不需要向接口“添加”地址,只需使用它们即可

如果出于某种原因,您需要接口上的特定地址,则需要进入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
这允许您在容器网络名称空间中进行任何更改