Docker扩展JDocker、Redspread、fix_docker_ip、Portus介绍

以下为你介绍的Docker扩展都可用在Linux系统上:JDocker(基于 Docker 的开发包)、Redspread(发布 Docker 到 K8S 集群)、fix_docker_ip(固定docker容器的IP)、Portus(Docker 注册表的前端和授权工具)。

1、JDocker(基于 Docker 的开发包)

Docker扩展JDocker、Redspread、fix_docker_ip、Portus介绍

基于 Docker1.12+ (Docker API 1.24+) 开发出的开发包,通过封装 Docker API 使开发者可以快速的使用 Java 开发出控制和操作 Docker 的应用,使用流式操作,简单明了。

为 Javaer 的小伙伴们提供方便直接的操作 Docker 的方式。

完善的测试用例覆盖率达87%。

JDocker 是 Voovan 开源项目的一个子项目,自然是依赖于 voovan开源项目的。

对 Voovan 项目的 Maven 依赖:

org.voovanvoovan-framework1.0-beta-*

通过设置org.voovan.docker.DockerGlobal中的环境变量来连接至 Docker。

public static String DOCKER_REST_HOST = "127.0.0.1";

 public static int DOCKER_REST_PORT = 2735;

 public static String DOCKER_REST_CHARSET = "UTF-8";

 public static int DOCKER_REST_TIMEOUT = 5;

 public static boolean DEBUG = false;

使用 JDocker 创建一个容器:

//构造一个创建命令

 CmdContainerCreate createCmd =  CmdContainerCreate.newInstance("d_test");

 //使用流式操作来创建容器

 Object data = createCmd.image("alpine").network("bridge")

  .volume("v_tx:/v_tx").link("dockerfly:dockerfly")

  .cmd("ping","127.0.0.1").env("author=helyho")

  .exposePort(22,"tcp","2222").send();

 createCmd.close();

 Logger.info(formatJSON(data));

具体使用请参照 org.voovan.docker.test.command测试用例。

下载地址:https://gitee.com/helyho/JDocker

2、Redspread(发布 Docker 到 K8S 集群)

Docker扩展JDocker、Redspread、fix_docker_ip、Portus介绍

spread 是一个命令行工具,用来构建和发布一个 Docker 项目到 Kubernetes 集群中。该项目的目标是:

快速迭代 Kubernetes。

最快最简单的方式来发布 Docker 产品。

支持单个开发人员和整个开发团队使用。

下载地址:https://github.com/redspread/spread

3、fix_docker_ip(固定docker容器的IP)

固定docker容器的IP,即容器使用静态IP。

原理很简单,就是根据容器ID设置静态IP,并把ID:IP键值对写入redis,之后就是获取redis信息重新设置。

要求:

1].Python redis模块,

2].redis服务

使用方法:

1]、首先要使用类似于docker run -tdi --net=none image,docker网卡可以是默认的docker0,或者是自定义桥接网卡(同物理网络)。

2]、接着,python docker_main.py 容器ID 设置IP,要求IP在docker网络同网段,否则将会出现联网问题。

3]、如果是第二次,比如重启docker服务了、重启主机了,docker start 容器id启动后将docker_main.py运行函数改为start_agent(),传递id参数,即python docker_main.py 容器ID。

4、Portus(Docker 注册表的前端和授权工具)

Docker扩展JDocker、Redspread、fix_docker_ip、Portus介绍

Portus 是用于 Docker RegistryAPI(v2)的开源前端和授权工具,最低要求注册表版本是 2.1。它可以作为授权服务器和用户界面,用于新一代的 Docker Registry。

安全。Portus 实现了最新的 Docker Registry中定义的新的授权方案。它允许对你所有的镜像进行细颗粒度控制,你可以决定哪个用户和团队可 push/pull 镜像。

轻松管理用户。 在 Portus 映射你的公司,可以定义任意数量的 team,并从 team 添加和移除用户。Team 有三种类型的用户:Viewers ,只能 pull 镜像;Contributors,可以 push/pull 镜像;Owners,类似 contributors,但可以从 team 添加或移除用户。

搜索。Portus 提供你的私人注册表的内容的预览,同时有一个快速搜索镜像的功能。

Audit。所有相关事件都会被 Portus 自动记录,可被管理员用户分析。

下载地址:https://github.com/SUSE/Portus

注明

以上就是Docker扩展JDocker、Redspread、fix_docker_ip、Portus的介绍内容,这些Docker扩展都能使用在Linux操作系统中。

栏目相关文章