Docker容器的网络配置。

netcfg的Python项目详细描述


Docker容器的简单网桥配置。在功能上类似 到pipework脚本,但具有持久配置,并且可以自动配置 启动容器时联网。

安装

netcfg可以通过pip安装:

$ pip install netcfg

用法

安装后,netcfg分为两部分。首先,必须启动守护进程 具有根用户权限并允许访问Docker IPC套接字:

$ netcfg daemon

默认情况下,netcfg将配置存储在/var/lib/netcfg/netcfg.json下,但此位置 可以使用--config命令行参数重写。在守护进程运行之后 在后台,可以通过调用netcfg脚本来设置netcfg配置。

首先,应该定义一个或多个网络:

$ netcfg create foo0 bridge

第一个参数指定网络名称,另一个参数指定网络类型。目前 只支持类型为bridge的网络,但netcfg实现不同的网络类型为 模块以便添加新的模块。

然后,我们可以将网络连接到一个或多个容器:

$ netcfg attach my_container_a foo0 --address 10.42.0.1/24
$ netcfg attach my_container_b foo0 --address 10.42.0.2/24

当前只能配置静态寻址(支持IPv4和IPv6)和多个 可以指定地址。如果一个人只想要一个没有地址的二级veth设备,没有地址 应该提出论点。

现有的配置可以用:

$ netcfg show
{
  "containers": {
    "my_container_a": {
      "name": "my_container_a",
      "networks": {
        "foo0": {
          "address": [
            "10.42.0.1/24"
          ]
        }
      }
    },
    "my_container_b": {
      "name": "my_container_b",
      "networks": {
        "foo0": {
          "address": [
            "10.42.0.2/24"
          ]
        }
      }
    }
  },
  "networks": {
    "foo0": {
      "destroy_on_stop": false,
      "name": "foo0",
      "type": "bridge"
    }
  }
}

如果容器正在运行,则将立即配置网络。否则,网络将 在命名容器启动时进行配置。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓 studio安装的java Unity本机广告   java如何将映射转换为对象   java我试图使用rest控制器从h2数据库中检索记录,但它说没有数据集   反思为什么会抛出java。lang.InstanceException?   在opensuse中找不到Java/javac   java为Android上的谷歌地图添加了5900多个标记。如何有效地做   java如何在if语句中使用循环   java如何在JPA(Hibernate)中映射一对多关系和复合主键?   如何在Java中读取和写入外部进程?   Java线程。睡眠时间最短   java使用EclipseGradle插件如何离线托管和使用依赖项(库jar文件)   java为什么虚拟引用在排队时没有被清除?   java无法理解如何创建用于响铃报警的取消按钮   java解析不应通过注入容器错误发生   java Toast或ProgressDialog不显示   java在自定义对象上使用优先级队列的更好方法   java格式的。wmv文件。(或者任何视频文件都很好)   从页面调用另一个侦听器后,不会调用java JSF<f:ajax>侦听器   java注释ConfigApplicationContext不能多次刷新有什么原因吗?