• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    docker 启动具有多个网络接口的容器的方法示例

    为容器添加网络接口

    1 以默认的网络方式运行一个容器

    # docker run --name tst_add_inf -it tst_img /bin/bash

    这样,我们就通过宿主机器上的镜像tst_img创建了一个名字为tst_add_inf的容器,此容器默认已经创建了一个网络接口eth0。

    2  获取容器的PID

    # docker inspect -f '{{.State.Pid}}' tst_add_inf

    上面获取到容器的PID即为容器1号进程在宿主机器命名空间的进程PID。

    3 为容器添加网络接口eth1

    (1) 创建一对 veth peer设备

    # ip link add veth0 type veth peer name veth1 
    

    创建好后可以通过" ip link list"看到刚创建的两个设备。

    (2) 将veth一端添加到网桥

    # brctl addif docker0 veth0
    # ip link set veth0 up 
    

    (3) 将veth另一端与容器关联

    # ln -s /proc/$pid/ns/net /var/run/netns/$container_id
    # ip link set veth1 netns $pid

     (4) 配置容器新添加的网络接口

    将新接口更名为eth1并修改其IP地址。

    # ip netns exec $pid ip link set dev veth1 name eth1
    # ip netns exec $pid lp link set eth1 up

    容器启动后,您可以使用“docker network connect”进行操作,但这意味着该进程已经在运行,可能会错过新的.

    这个问题是关于码头和多个网络接口的搜索.虽然不是所需的版本在我离开这里的一些信息:

    使用Docker 1.12,可以向docker容器添加多个网络接口,但首先需要创建容器,然后在启动容器之前附加第二个(和后续的)网络NIC:

    $docker create --network=network1 --name container_name containerimage:latest
    $docker network connect network2 container_name
    $docker start container_name
    

    需要先创建网络:

    $docker network create --driver=bridge network1 --subnet=172.19.0.0/24
    $docker network create --driver=bridge network2 --subnet=172.19.1.0/24

    此外,您可以使用docker运行中的–network = host参数启动Dockerhost网络接口的容器:

    $docker run --net=host containerimage:latest
    
    

    翻译自:http://stackoverflow.com/questions/34110416/start-container-with-multiple-network-interfaces

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:Ubuntu下VIM配置成C++开发编辑器
    下一篇:Ubuntu环境下使用G++编译CPP文件
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    docker 启动具有多个网络接口的容器的方法示例 docker,启动,具有,多个,网络,