You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actually this project is a fork of [dreamcat4/pipework](https://github.com/dreamcat4/docker-images/tree/master/pipework), it uses updated image and includes some fixes for make pipework working with Kubernetes annotations, and add [VLAN support for linux bridges](https://github.com/jpetazzo/pipework/pull/227).
14
+
15
+
Despite all the great features of Kubernetes, Pipework is still the easiest way to pastrough a static IP or physical interface into a container. Nevertheless, I would suggest you to avoid using pipework in situations where you can do without it.
16
+
17
+
Check **[bridget](https://github.com/kvaps/bridget/)** - this cni-plugin was created under impressed with Pipework, it is more native for Kubernetes and provides similar L2-network connectivity (except static IPs).
18
+
19
+
Of course you can use pipework with bridget together as well.
* Inspiration for the `host_routes` feature came from [this Article](http://blog.oddbit.com/2014/08/11/four-ways-to-connect-a-docker/), by Lars Kellogg-Stedman
30
+
*[Docker wrapper for Pipework](https://github.com/dreamcat4/docker-images/tree/master/pipework) - Dreamcat4
@@ -8,13 +8,13 @@ Recommended with the `crane` orchestration tool. [See here for an example](3. Ex
8
8
9
9
This docker image encapsulates the awesome [jpetazzo/pipework](https://github.com/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.
10
10
11
-
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.
11
+
Specifying an environment variable named [`pipework_cmd`](4. Config.md#pipework_cmd) on your container will tell the `kvaps/pipework` image to run jpetazzo's `pipework` script. And with those specific pipework flags.
12
12
13
13
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](https://github.com/jpetazzo/pipework/blob/master/README.md#custom_mac), a dynamic or a static [DHCP lease](https://github.com/jpetazzo/pipework/blob/master/README.md#dhcp). To be able to [manually configure the IP address](https://github.com/jpetazzo/pipework/blob/master/README.md#no_ip) 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](https://github.com/jpetazzo/pipework/blob/master/README.md#lamp) between N other containers].
14
14
15
15
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.
16
16
17
-
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.
17
+
Requires privileged mode, access to the host PID namespace, and the host's networking stack. ~ But only on the `kvaps/pipework` container, not on any of your application containers.
18
18
19
19
## Readme
20
20
@@ -48,11 +48,11 @@ Should you experience any problems with this image, there are a couple of things
48
48
49
49
* Pipework has it's own requirements. Which can be found in the official pipework documentation at [jpetazzo/pipework](https://github.com/jpetazzo/pipework/blob/master/README.md). For example `dhclient` is needed for the DHCP feature and so on.
50
50
51
-
* 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](https://github.com/dreamcat4/docker-images/issues/new) here on my github repository.
51
+
* 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](https://github.com/kvaps/pipework/issues/new) here on my github repository.
* Inspiration for the `host_routes` feature came from [this Article](http://blog.oddbit.com/2014/08/11/four-ways-to-connect-a-docker/), by Lars Kellogg-Stedman
57
-
*[This Docker Image](https://github.com/dreamcat4/docker-images/tree/master/pipework), a wrapper for Pipework - Dreamcat4
58
-
57
+
*[Docker wrapper for Pipework](https://github.com/dreamcat4/docker-images/tree/master/pipework) - Dreamcat4
* This image `dreamcat4/pipework` requires the following docker run arguments: `--privileged=true`, `--pid=host`, `--net=host`, and `-v /var/run/docker.sock:/docker.sock`. Or else pipework won't be able to set up networking on your other containers.
29
+
* This image `kvaps/pipework` requires the following docker run arguments: `--privileged=true`, `--pid=host`, `--net=host`, and `-v /var/run/docker.sock:/docker.sock`. Or else pipework won't be able to set up networking on your other containers.
30
30
31
31
This image will flat out not work on any previous version of Docker before `1.5.0`. As the pipework script needs to see the host pid namespace, which requires `--pid=host` flag. The first version of Docker to implement this flag is Docker `1.5.0`. However since docker-compose version `1.3.0` requires docker `1.6.0` we have upped the overall docker requirement to `1.6.0`. *This should not be an issue for most installations now that Docker `1.6.0` has been released.*
@@ -45,7 +45,7 @@ Full documentation on the pipework script can be found at [jpetazzo/pipework](ht
45
45
Cmdline Usage (docker run):
46
46
47
47
docker run -v /var/run/docker.sock:/docker.sock --privileged=true --pid=host --net=host \
48
-
dreamcat4/pipework --help
48
+
kvaps/pipework --help
49
49
50
50
<aname="compose_usage"/>
51
51
@@ -71,7 +71,7 @@ Expaination of each of the permitted run modes:
71
71
72
72
Manually specified commands. Just as you would run `pipework` script from the command line on your host system. Does not accept @TEMPLATE@ [macro expansions](#macro-expansions).
73
73
74
-
If you execute `docker run dreamcat4/pipework <args>` on the command line:
74
+
If you execute `docker run kvaps/pipework <args>` on the command line:
75
75
76
76
* The arguments `<args>` are passed directly into jpetazzo's pipework script.
77
77
* A [`host_route`](4. Config.md#host_route) may be set up. If the option `-e host_route=true` was specified.
@@ -102,7 +102,7 @@ Or in non-interactive environments:
102
102
* But only if the container also fulfils other user-configurable filtering criteria.
103
103
* If the `pipework_cmd` is permitted to be executed, then the `pipework` script will be invoked immediately upon that container. As soon as it can be serviced by the processing loop.
104
104
*`daemon` mode is recommended in combination with `batch` mode, for orchestration environments such as docker compose, crane, and kubernetes.
105
-
* You can run pipework's `daemon` mode continuously from system boot. If you prefer to keep the `dreamcat4/pipework` image outside of your orchestration tool's `.yml` file.
105
+
* You can run pipework's `daemon` mode continuously from system boot. If you prefer to keep the `kvaps/pipework` image outside of your orchestration tool's `.yml` file.
106
106
* Create the pipework container with `--restart=always` flag to be started automatically at boot time (recommended).
107
107
* Be sure to specify `batch` mode too, since the container startup order is not guaranteed, and client containers may be started before the pipework container itself has a change to drop into `daemon` mode and start listening.
@@ -48,7 +48,7 @@ Configuration of `pipework` is performed by setting environment variables. There
48
48
49
49
Environment variables can be set by appending the `docker run` command with successive `-e` switches. Or by adding them to the existing service definitions in your orchestration tool's `.yml` file.
50
50
51
-
When a `dreamcat4/pipework` container is run, it will boot up, then `docker inspect` other running containers on the same docker host. As dictated by the user-specified [`run_mode`](#run_mode) and certain other kinds of configurable [filter criteria 1](#event_filters), and [2](#key). For any inspected container, if an environment variable matching the [globbing battern](#globbing) of [`pipework_cmd=`](#pipework_cmd) is encountered. Then those command line arguments are passed on to @jpetazzo's [pipework](https://github.com/jpetazzo/pipework/blob/master/README.md) script for processing.
51
+
When a `kvaps/pipework` container is run, it will boot up, then `docker inspect` other running containers on the same docker host. As dictated by the user-specified [`run_mode`](#run_mode) and certain other kinds of configurable [filter criteria 1](#event_filters), and [2](#key). For any inspected container, if an environment variable matching the [globbing battern](#globbing) of [`pipework_cmd=`](#pipework_cmd) is encountered. Then those command line arguments are passed on to @jpetazzo's [pipework](https://github.com/jpetazzo/pipework/blob/master/README.md) script for processing.
52
52
53
53
<aname="global"/>
54
54
@@ -88,7 +88,7 @@ It would mean that the Docker Host can now access the container's `eth1` interfa
88
88
89
89
### On the Pipework container
90
90
91
-
* Setting environment variables on the `dreamcat4/pipework` container is how you set global configuration options.
91
+
* Setting environment variables on the `kvaps/pipework` container is how you set global configuration options.
92
92
* You may omit the optional prefix `pipework_` at the beginning of any environment variable names.
93
93
* For example: `debug=true` is the same as `pipework_debug=true`. Enabling either option will have the same effect.
94
94
* Most users only need to set the [`run_mode`](#run_mode) and [`host_routes`](#host_routes) options.
0 commit comments