Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 3.72 KB

0. Introduction.md

File metadata and controls

55 lines (34 loc) · 3.72 KB

Pipework reference: jpetazzo/pipework
Readme / [Intro](0. Introduction.md) / [Install](1. Install.md) / [Usage](2. Usage.md) / [Examples](3. Examples.md) / [Config](4. Config.md)

Docker-Pipework

A docker image of jpetazzo's pipework

Recommended with the crane orchestration tool. [See here for an example](3. Examples.md#crane).

This docker image encapsulates the awesome jpetazzo/pipework networking configuration script. You can now run pipework as a docker container. The configurable [run modes](2. Usage.md#run-modes) determine how the pipework command is invoked on your docker containers.

Specifying an environment variable named [pipework_cmd](4. Config.md#pipework_cmd) on your container will tell the dreamcat4/pipework image to run jpetazzo's pipework script. And with those specific pipework flags.

There are many reasons to use the pipework tool. It may be to give your container an external IP address, or a macvlan L2 ethernet bridge, a particular MAC address, a dynamic or a static DHCP lease. To be able to manually configure the IP address from inside the container. To set up [host routes](4. Config.md#host_routes) so that those IPs are reachable / visible on the docker host. Or to create a private bridge between N other containers].

Or perhaps you want to do all of those things! For multiple pipework commands on 1 container use the simple [.*pipework_cmd.* regexp matching](4. Config.md#globbing). e.g. pipework_cmd1=, pipework_cmd2= etc.

Requires privileged mode, access to the host PID namespace, and the host's networking stack. ~ But only on the dreamcat4/pipework container, not on any of your application containers.

Readme

### Status
  • Working 1.0.0 release.
  • Tested on an Ubuntu-14.10 host.
  • Requires Docker 1.6.0
  • Requires Docker Compose 1.3.0
  • Needs to be run in privileged mode etc.
### Support

Should you experience any problems with this image, there are a couple of things to try.

  • Please first check that the same pipework command will run correctly on the command line on your host system. By installing pipework script on your host system as a standalone tool.

  • Pipework has it's own requirements. Which can be found in the official pipework documentation at jpetazzo/pipework. For example dhclient is needed for the DHCP feature and so on.

  • If the issue isn't with pipework, it may be todo with my docker image, which is what surrounds and encapsulates the pipework script. Then please open a new issue here on my github repository.

Credit