Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
如何向docker容器添加多个接口并手动设置ip地址?_Docker - Fatal编程技术网

如何向docker容器添加多个接口并手动设置ip地址?

如何向docker容器添加多个接口并手动设置ip地址?,docker,Docker,我可以使用以下命令手动设置IP地址: docker run --lxc-conf="lxc.network.ipv4 = 172.17.0.12/16" -a stdin -a stdout -a stderr -i -t dockerimage /bin/bash 如何向docker容器添加多个接口并手动设置IP地址?我使用以下命令解决了这个问题: dockerContainer=$(docker run --lxc-conf="lxc.network.ipv4 = 172.17.0.21/

我可以使用以下命令手动设置IP地址:

docker run --lxc-conf="lxc.network.ipv4 = 172.17.0.12/16" -a stdin -a stdout -a stderr -i -t dockerimage /bin/bash

如何向docker容器添加多个接口并手动设置IP地址?

我使用以下命令解决了这个问题:

dockerContainer=$(docker run --lxc-conf="lxc.network.ipv4 = 172.17.0.21/16" -d dockerimage)
sudo pipework docker0 -i eth1 $dockerContainer 172.17.0.22/24

“docker run”命令创建eth0,我使用lxc.network.ipv4配置手动设置eth0。然后,我使用管道添加了接口eth1。

我很高兴您解决了这个问题,但值得指出的是,这与Docker的理念大相径庭。您应该尝试构建应用程序,以便它能够处理不断变化的IP。容器应该是动态和瞬态的。这确实意味着在服务发现和编排方面有很多工作要做。

docker发展哲学中有趣的一点是,一旦涉及到docker主机之间的通信,并且摆脱了生产环境(需要冗余)中不现实的简单示例,您必须寻找这类东西,原因很简单,每个容器迟早都需要能够访问,以便进行编排和主机间通信。它最近筹集了500万美元,并受到了Docker的鼓励,确实做到了这一点……是的,我同意。不确定这是否有趣,只是Docker周围的生态系统还在成长。