jpetazzo/pipework
Readme
/ [Intro
](0. Introduction.md) / [Install
](1. Install.md) / [Usage
](2. Usage.md) / [Examples
](3. Examples.md) / [Config
](4. Config.md)
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.
- 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.
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.
- Pipework - Jerome Petazzoni
- Inspiration for the
host_routes
feature came from this Article, by Lars Kellogg-Stedman - This Docker Image, a wrapper for Pipework - Dreamcat4