Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/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
Docker多IP地址_Docker - Fatal编程技术网

Docker多IP地址

Docker多IP地址,docker,Docker,我有两个集装箱在运行 vagrant@nav:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3401574617ea j/ros-tutorials:latest "/tini -- /ros_ent...

我有两个集装箱在运行

vagrant@nav:~$ sudo docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS               NAMES
3401574617ea        j/ros-tutorials:latest   "/tini -- /ros_ent..."   About an hour ago   Up About an hour                        rosdemo_master.1.yled0m2ygtoha1gs09mrvwho5
dd1a5a4ed5b2        j/ros-tutorials:latest   "/tini -- /ros_ent..."   About an hour ago   Up About an hour                        rosdemo_listener.1.fjv2u7yxihxvzkfzmomhnq9
但当我尝试使用以下脚本获取他们的IP地址时-

for i in $(sudo docker ps -q); do sudo docker inspect $i| grep IPA; done
我得到以下输出-

        "SecondaryIPAddresses": null,
        "IPAddress": "",
                "IPAMConfig": {
                "IPAddress": "10.255.0.5",
                "IPAMConfig": {
                "IPAddress": "10.2.0.7",
        "SecondaryIPAddresses": null,
        "IPAddress": "",
                "IPAMConfig": {
                "IPAddress": "10.2.0.9",
想知道为什么我有3个IP地址-

10.255.0.5
10.2.0.7
10.2.0.9

这些容器连接到多个Docker网络

不要使用
grep
提取IP地址,这是所有结构化数据,Docker支持现成的go模板格式

要获取主IP地址,请执行以下操作:

docker inspect $CID \
  -f '{{ .NetworkSettings.IPAddress }}'
获取分配给网络的任何IP地址:

docker inspect $CID \
  -f '{{ range .NetworkSettings.Networks }}{{ .IPAddress }}{{ end }}'
要将网络名称与IP一起打印,请执行以下操作:

docker inspect $CID \
  -f '{{ range $k,$v :=.NetworkSettings.Networks }}{{$k}} {{.IPAddress}}{{ end }}'

这些容器连接到多个Docker网络

不要使用
grep
提取IP地址,这是所有结构化数据,Docker支持现成的go模板格式

要获取主IP地址,请执行以下操作:

docker inspect $CID \
  -f '{{ .NetworkSettings.IPAddress }}'
获取分配给网络的任何IP地址:

docker inspect $CID \
  -f '{{ range .NetworkSettings.Networks }}{{ .IPAddress }}{{ end }}'
要将网络名称与IP一起打印,请执行以下操作:

docker inspect $CID \
  -f '{{ range $k,$v :=.NetworkSettings.Networks }}{{$k}} {{.IPAddress}}{{ end }}'

你是怎么启动这些docker容器的?一个接一个还是用compose?我在用docker Swarmh你是怎么启动这些docker容器的?一个接一个还是用作曲?我用的是docker swarm