docker-java

docker-java 是 Docker的 Java 版本API Docker

当前的实现基于 Jersey 2.x 因此 classpath 不兼容老版本的 Jersey 1.x !

版本支持

Supports a subset of the Docker Remote API v1.37, Docker Server version since 1.12.6

com.github.docker-java

docker-java

3.X.Y

当前最新的版本是3.1.0,可以点击这里查看最新版本。

com.github.docker-java

docker-java

3.1.0

wiki文档

For code examples, please look at the Wiki or Test cases

配置Docker环境

系统的可配置项及默认值如下:

DOCKER_HOST The Docker Host URL, e.g. tcp://localhost:2376 or unix:///var/run/docker.sock

DOCKER_TLS_VERIFY enable/disable TLS verification (switch between http and https protocol)

DOCKER_CERT_PATH Path to the certificates needed for TLS verification

DOCKER_CONFIG Path for additional docker configuration files (like .dockercfg)

api.version The API version, e.g. 1.23.

registry.url Your registry's address.

registry.username Your registry username (required to push containers).

registry.password Your registry password.

registry.email Your registry email.

There are three ways to configure, in descending order of precedence:

编程方式配置:

DockerClientConfig config = DefaultDockerClientConfig.createDefaultConfigBuilder()

.withDockerHost("tcp://my-docker-host.tld:2376")

.withDockerTlsVerify(true)

.withDockerCertPath("/home/user/.docker/certs")

.withDockerConfig("/home/user/.docker")

.withApiVersion("1.30") // optional

.withRegistryUrl("https://index.docker.io/v1/")

.withRegistryUsername("dockeruser")

.withRegistryPassword("ilovedocker")

.withRegistryEmail("dockeruser@github.com")

.build();

DockerClient docker = DockerClientBuilder.getInstance(config).build();

通过Properties (docker-java.properties)

DOCKER_HOST=tcp://localhost:2376

DOCKER_TLS_VERIFY=1

DOCKER_CERT_PATH=/home/user/.docker/certs

DOCKER_CONFIG=/home/user/.docker

api.version=1.23

registry.url=https://index.docker.io/v1/

registry.username=dockeruser

registry.password=ilovedocker

registry.email=dockeruser@github.com

通过System Properties:

java -DDOCKER_HOST=tcp://localhost:2375 -Dregistry.username=dockeruser pkg.Main

通过 Environment

export DOCKER_HOST=tcp://localhost:2376

export DOCKER_TLS_VERIFY=1

export DOCKER_CERT_PATH=/home/user/.docker/certs

export DOCKER_CONFIG=/home/user/.docker

测试

我们来简单测试下:

DockerClient dockerClient = createClient();

// docker info

Info info = dockerClient.infoCmd().exec();

System.out.print(info);

// 搜索镜像

List dockerSearch = dockerClient.searchImagesCmd("busybox").exec();

System.out.println("Search returned" + dockerSearch.toString());

// pull

dockerClient.pullImageCmd("busybox:latest").exec(new ResultCallback() {

public void onStart(Closeable closeable) {

}

public void onNext(PullResponseItem object) {

System.out.println(object.getStatus());

}

public void onError(Throwable throwable) {

throwable.printStackTrace();

}

public void onComplete() {

System.out.println("pull finished");

}

public void close() throws IOException {

}

});

// 创建container 并测试

// create

CreateContainerResponse container = dockerClient.createContainerCmd("busybox")

.withCmd("/bin/bash")

.exec();

// start

dockerClient.startContainerCmd(container.getId()).exec();

dockerClient.stopContainerCmd(container.getId()).exec();

dockerClient.removeContainerCmd(container.getId()).exec();

EventsResultCallback callback = new EventsResultCallback() {

@Override

public void onNext(Event event) {

System.out.println("Event: " + event);

super.onNext(event);

}

};

dockerClient.eventsCmd().exec(callback).awaitCompletion().close();

作者:Jadepeng

出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi

您的支持是对博主最大的鼓励,感谢您的认真阅读。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

docker api java_docker-java Docker的java API相关推荐

  1. docker安装_使用docker在带有SSL的Nginx反向代理后面部署Quarkus或任何基于Java的微服务...

    docker安装 已经有一段时间了,但是根据一位朋友的要求,我将向您展示如何使用docker在Nginx反向代理后面部署Quarkus微服务. 我们会做什么- 我将在centos 8主机上安装dock ...

  2. docker web程序本地化_docker化java web应用

    一.简介 Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上.Docker的发展速度和火爆程度着实令人惊叹,一 ...

  3. CentOS学习笔记 - 9. docker maven编译基于gofabric8的java应用镜像

    2019独角兽企业重金招聘Python工程师标准>>> 续上一篇 1. 修改java工程的pom.xml , 加入docker编译插件 <plugin><group ...

  4. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  5. java+JBroFuzz对restful api进行fuzz测试

    @本文原创,转载请注明 0X00: 序言 fuzz测试作为安全测试的一个基本策略,被越来越多的引入整个测试过程,来避免一些简单的可能引发的安全问题. 如何将fuzzing测试引入软件自动化测试过程是本 ...

  6. 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例

    代码描述:基于JAVA的货币汇率api调用代码实例 关联数据:货币汇率 接口地址:http://www.juhe.cn/docs/api/id/23 1.[代码][Java]代码 import jav ...

  7. Java - Jackson JSON Java Parser API

    文章目录 概述 依赖 Jackson JSON示例 基础数据 JSON转换为Java对象 Jackson JSON –将JSON转换为Map 概述 Jackson JSON Java Parser非常 ...

  8. 「实战篇」开源项目docker化运维部署-后端java部署(七)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「实战篇」开源项目docker化运维部署-后端java部署(七) 本节主要说说后端的部署需要注意的点,本身renren-fas ...

  9. Java黑皮书课后题第9章:*9.5(使用GregorianCalendar类)Java API中有一个位于包java.util中的类GregorianCalendar

    Java黑皮书课后题第9章:*9.5(使用GregorianCalendar类)Java API中有一个位于包java.util中的类GregorianCalendar 题目 代码 题目 代码 imp ...

  10. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...

最新文章

  1. 深入理解ext4等Linux文件系统
  2. 【设计模式】迪米特法则和六种原则的总结
  3. Linq Group By 注意点
  4. Mybatis中Mapper映射文件详解(默认值)
  5. linux 混杂模式 收包,Linux下使用混杂模式抓包(2)
  6. Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
  7. nodewebkitV0.21.6版本的学习
  8. 视频教程-程序员面试宝典——助你拿到好offer-招聘/面试
  9. 量化投资中收益率的计算方法
  10. 唯物论、辩证法和认识论
  11. linux开机故障,Entering emeryency mode. Exit the shell to continue.
  12. python三级考什么_什么是计算机三级考试?计算机三级考什么?
  13. 重组人碱性成纤维细胞生长因子参数说明
  14. welook手机视频通话软件
  15. java 内省_Java反射与内省
  16. ADT和OOP自学,并撰写心得和收获。
  17. 利用matlab实现北斗RNSS单点定位解算
  18. 新梓航无限建站系统Duson_systemV4.4.3+多模板
  19. vue-05列表渲染自学视频教程
  20. QRcode.js二维码中心添加图片

热门文章

  1. Kotlin基础学习第3章—内置类型
  2. Flutter进阶第4篇: 实现简单的新闻系统渲染新闻详情数据以及用flutter_html解析html
  3. 【报错】table burner has no column named USER (code 1): , while compiling: INSERT INTO burner(USER,YELL
  4. git 创建远程仓库
  5. OwnCloud 搭建
  6. MP3播放器横向比较专题之二:闪存式
  7. PX4避障和轨迹规划(3DVFH*)
  8. Windows程序设计学习-API-SetBkMode
  9. H3C VLAN同步MVRP实验
  10. Windows平台安装cocos2d-x V3.17.2