Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
6d98872
Update CreateContainer with 1.19 changes
KostyaSha Jun 16, 2015
6a312c7
Adding Node type for Swarm support:
kumoroku Jun 21, 2015
2d31745
Add labels to create and inspect container
carlossg Jul 6, 2015
9419799
Update CHANGELOG.md
marcuslinke Jul 7, 2015
8f3de21
Update README.md
marcuslinke Jul 7, 2015
4725809
Add filters option to list containers
carlossg Jul 7, 2015
0c90737
Merge pull request #263 from docker-java/refact-streaming
marcuslinke Jul 7, 2015
6f54ec4
Make callback template abstract
Jul 7, 2015
20d1f8b
Merge pull request #264 from docker-java/refact-streaming
marcuslinke Jul 7, 2015
e832c60
Merge branch 'labels' of https://github.com/carlossg/docker-java into…
Jul 7, 2015
b34af06
Merge branch 'carlossg-labels'
Jul 7, 2015
b23d858
Update CHANGELOG.md
marcuslinke Jul 7, 2015
a11646d
Merge branch 'swarm' of https://github.com/raychaser/docker-java into…
Jul 7, 2015
299fa5e
Added comment about Event node
Jul 7, 2015
22ba719
Merge branch 'raychat push origin masterser-swarm'
Jul 7, 2015
9366a9d
Ignore test in CircleCI
Jul 7, 2015
0b256d3
Merge branch 'list-containers-filters' of https://github.com/carlossg…
Jul 8, 2015
769f176
Filtering by labels always needs the "label" key
carlossg Jul 10, 2015
eeaeaf0
Merge branch 'list-containers-filters' of https://github.com/carlossg…
Jul 10, 2015
d2b618b
Add labels to list container command result
Jul 11, 2015
db06b33
format sources
Jul 11, 2015
2ce5c20
Merge branch 'carlossg-list-containers-filters'
Jul 11, 2015
4e9aa64
Update CHANGELOG.md
marcuslinke Jul 11, 2015
f5f1b66
fix link to issue
gesellix Jul 11, 2015
05c4b25
Merge pull request #267 from gesellix/patch-2
marcuslinke Jul 11, 2015
0972b1a
Merge branch 'since' of https://github.com/KostyaSha/docker-java into
Jul 11, 2015
53a184e
Merge branch 'KostyaSha-since't push origin master
Jul 11, 2015
c9cdda6
Update README.md
marcuslinke Jul 11, 2015
e3a0847
Add filters option to events operation
carlossg Jul 7, 2015
87e9c19
Ensure errors in callback are processed and logged
carlossg Jul 7, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
Change Log
===

Latest SNAPSHOT
---
* [#248](https://github.com/docker-java/docker-java/pull/233) Removed deprecated start options

* [#263](https://github.com/docker-java/docker-java/pull/263) Refactoring of streaming commands APIs (event, stats, log, attach)
* [#262](https://github.com/docker-java/docker-java/pull/262) Accept filters in list containers
* [#260](https://github.com/docker-java/docker-java/pull/260) Add labels to create and inspect container

v.1.4.0
---
* [#248](https://github.com/docker-java/docker-java/pull/248) Removed deprecated start options
* [#247](https://github.com/docker-java/docker-java/pull/247) Add Domainname attribute on create command
* [#245](https://github.com/docker-java/docker-java/pull/245) Added ReadonlyRootfs option
* [#233](https://github.com/docker-java/docker-java/pull/233) Labels are array of Strings (fixes #232)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Java API client for [Docker](http://docs.docker.io/ "Docker")

Supports a subset of the Docker Remote API [v1.18](https://github.com/docker/docker/blob/master/docs/reference/api/docker_remote_api_v1.18.md), Docker Server version 1.6.x
Supports a subset of the Docker Remote API [v1.19](https://github.com/docker/docker/blob/master/docs/reference/api/docker_remote_api_v1.19.md), Docker Server version 1.7.x

<b>The current implementation is based on Jersey 2.x and therefore classpath incompatible with older Jersey 1.x dependent libraries!</b>

Expand Down Expand Up @@ -64,7 +64,7 @@ Run build without integration tests:
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId>
<version>1.3.0</version>
<version>1.4.0</version>
</dependency>

### Latest SNAPSHOT version
Expand All @@ -74,7 +74,7 @@ You can find the latest SNAPSHOT version including javadoc and source files on [
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId>
<version>1.3.1-SNAPSHOT</version>
<version>1.4.1-SNAPSHOT</version>
</dependency>

## Documentation
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.github.dockerjava.api.command;

import java.util.Map;

import com.github.dockerjava.api.ConflictException;
import com.github.dockerjava.api.NotFoundException;
import com.github.dockerjava.api.model.Bind;
Expand Down Expand Up @@ -41,6 +43,26 @@ public static interface Exec extends DockerCmdExec<CreateContainerCmd, CreateCon

public int getCpuShares();

/**
* @since 1.19
*/
public Integer getCpuPeriod();

/**
* @since 1.19
*/
public String getCpusetMems();

/**
* @since 1.19
*/
public Integer getBlkioWeight();

/**
* @since 1.19
*/
public Boolean isOomKillDisable();

public Device[] getDevices();

public String[] getDns();
Expand Down Expand Up @@ -137,6 +159,26 @@ public static interface Exec extends DockerCmdExec<CreateContainerCmd, CreateCon

public CreateContainerCmd withCpuShares(int cpuShares);

/**
* @since 1.19
*/
public CreateContainerCmd withCpuPeriod(Integer cpuPeriod);

/**
* @since 1.19
*/
public CreateContainerCmd withCpusetMems(String cpusetMems);

/**
* @since 1.19
*/
public CreateContainerCmd withBlkioWeight(Integer blkioWeight);

/**
* @since 1.19
*/
public CreateContainerCmd withOomKillDisable(Boolean oomKillDisable);

/**
* Add host devices to the container
*/
Expand Down Expand Up @@ -173,6 +215,8 @@ public static interface Exec extends DockerCmdExec<CreateContainerCmd, CreateCon

public CreateContainerCmd withImage(String image);

public CreateContainerCmd withLabels(Map<String, String> labels);

/**
* Add link to another container.
*/
Expand Down Expand Up @@ -238,4 +282,9 @@ public static interface Exec extends DockerCmdExec<CreateContainerCmd, CreateCon

public CreateContainerCmd withMacAddress(String macAddress);

/**
* @return
*/
Map<String, String> getLabels();

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.dockerjava.api.command;

import com.github.dockerjava.api.model.Event;
import com.github.dockerjava.api.model.Filters;

/**
* Get events
Expand All @@ -19,6 +20,10 @@ public interface EventsCmd extends AsyncDockerCmd<EventsCmd, Event, Void> {

public String getUntil();

public Filters getFilters();

public EventsCmd withFilters(Filters filters);

public static interface Exec extends DockerCmdExec<EventsCmd, Void> {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.List;

import com.github.dockerjava.api.model.Container;
import com.github.dockerjava.api.model.Filters;

/**
* List containers
Expand Down Expand Up @@ -31,6 +32,8 @@ public interface ListContainersCmd extends DockerCmd<List<Container>> {

public String getBeforeId();

public Filters getFilters();

public ListContainersCmd withShowAll(boolean showAll);

public ListContainersCmd withShowSize(boolean showSize);
Expand All @@ -41,6 +44,8 @@ public interface ListContainersCmd extends DockerCmd<List<Container>> {

public ListContainersCmd withBefore(String before);

public ListContainersCmd withFilters(Filters filters);

public static interface Exec extends DockerCmdExec<ListContainersCmd, List<Container>> {
}

Expand Down
9 changes: 9 additions & 0 deletions src/main/java/com/github/dockerjava/api/model/Container.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.github.dockerjava.api.model;

import java.util.Map;

import org.apache.commons.lang.builder.ToStringBuilder;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
Expand Down Expand Up @@ -31,6 +33,9 @@ public class Container {
@JsonProperty("Ports")
public Port[] ports;

@JsonProperty("Labels")
public Map<String, String> labels;

@JsonProperty("Status")
private String status;

Expand Down Expand Up @@ -58,6 +63,10 @@ public Port[] getPorts() {
return ports;
}

public Map<String, String> getLabels() {
return labels;
}

public String[] getNames() {
return names;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ public class ContainerConfig {
@JsonProperty("Image")
private String image;

@JsonProperty("Labels")
private Map<String, String> labels;

@JsonProperty("MacAddress")
private String macAddress;

Expand Down Expand Up @@ -184,6 +187,10 @@ public String[] getOnBuild() {
return onBuild;
}

public Map<String, String> getLabels() {
return labels;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
Expand Down
22 changes: 17 additions & 5 deletions src/main/java/com/github/dockerjava/api/model/Event.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package com.github.dockerjava.api.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang.builder.ToStringBuilder;

/**
* Representation of a Docker event.
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class Event {
private String status;

Expand All @@ -14,6 +16,9 @@ public class Event {

private long time;

@JsonIgnoreProperties
private Node node;

/**
* Default constructor for the deserialization.
*/
Expand All @@ -22,7 +27,7 @@ public Event() {

/**
* Constructor.
*
*
* @param id
* Container ID
* @param status
Expand All @@ -46,7 +51,7 @@ public Event(String status, String id, String from, long time) {
* Status of docker image or container. List of statuses is available in <a
* href="https://docs.docker.com/reference/api/docker_remote_api_v1.16/#monitor-dockers-events">Docker API
* v.1.16</a>
*
*
* @return Status string
*/
public String getStatus() {
Expand All @@ -55,7 +60,7 @@ public String getStatus() {

/**
* Get ID of docker container.
*
*
* @return Container ID
*/
public String getId() {
Expand All @@ -64,7 +69,7 @@ public String getId() {

/**
* Get source image of the container.
*
*
* @return Name of the parent container
*/
public String getFrom() {
Expand All @@ -73,13 +78,20 @@ public String getFrom() {

/**
* Get the event time. The time is specified in milliseconds since January 1, 1970, 00:00:00 GMT
*
*
* @return Event time in the specified format.
*/
public long getTime() {
return time;
}

/**
* Returns the node when working against docker swarm
*/
public Node getNode() {
return node;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
Expand Down
37 changes: 37 additions & 0 deletions src/main/java/com/github/dockerjava/api/model/EventFilters.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.github.dockerjava.api.model;

import java.util.List;

/**
* Representation of a Docker event filter.
*
* @author Carlos Sanchez <[email protected]>
*
*/
public class EventFilters extends Filters {

/**
* Default constructor for the deserialization.
*/
public EventFilters() {
}

/**
* Constructor.
*
* @param event
* event to filter
*/
public EventFilters(String... event) {
super();
withEvent(event);
}

public Filters withEvent(String... event) {
return withFilter("event", event);
}

public List<String> getEvent() {
return getFilter("event");
}
}
Loading