[DOCKER] Pipework


tinglis1

94 posts in this topic Last Reply

Recommended Posts

I'm not sure what causing you issues but am wondering if it is related to your host NIC somehow.

 

Do you have more than one NIC?

What shows up when you ifconfig on unRAID?

 

I see br0, docker0 which are the bridges and eth0, lo. I am running unRAID virtualized with vmxnet3 driver.

 

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.XX  netmask 255.255.255.0  broadcast 192.168.3.255
        ether 00:XX  txqueuelen 0  (Ethernet)
        RX packets 8815495  bytes 17648101390 (16.4 GiB)
        RX errors 0  dropped 3807  overruns 0  frame 0
        TX packets 4018694  bytes 1016945854 (969.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.42.1  netmask 255.255.0.0  broadcast 0.0.0.0
        ether 00:XX  txqueuelen 0  (Ethernet)
        RX packets 1797921  bytes 149382321 (142.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5047397  bytes 9503846239 (8.8 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        ether 00:XX  txqueuelen 1000  (Ethernet)
        RX packets 13117356  bytes 18057322428 (16.8 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4024345  bytes 1017239706 (970.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 4105  bytes 771247 (753.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4105  bytes 771247 (753.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth2bf4d34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether ba:21:72:cf:e7:73  txqueuelen 0  (Ethernet)
        RX packets 69200  bytes 27346032 (26.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 79714  bytes 12825081 (12.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth4dd9eaf: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 92:a9:42:eb:f6:05  txqueuelen 0  (Ethernet)
        RX packets 72506  bytes 5331647 (5.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 105793  bytes 179253908 (170.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth5ac142d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 4e:3b:98:dc:05:fe  txqueuelen 0  (Ethernet)
        RX packets 994  bytes 122848 (119.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2849  bytes 1803506 (1.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth634cf97: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 6a:f0:40:e8:dd:05  txqueuelen 0  (Ethernet)
        RX packets 52  bytes 11215 (10.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1879  bytes 390422 (381.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth6b2f9dd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 6a:3b:c9:e8:f6:5b  txqueuelen 0  (Ethernet)
        RX packets 8648  bytes 3161512 (3.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10996  bytes 4612109 (4.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth82f9d0f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 8e:a9:bd:ef:dc:d0  txqueuelen 0  (Ethernet)
        RX packets 163410  bytes 32650586 (31.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 164820  bytes 86582331 (82.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth917ce77: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether e2:db:9e:49:81:29  txqueuelen 0  (Ethernet)
        RX packets 1391989  bytes 99458986 (94.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4565776  bytes 8959663776 (8.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

Link to post
  • Replies 93
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Remove the pipework variable you added to the plex docker.  In the plex docker settings enable advanced view (slide toggle top-right) and in the 'Extra Parameters' box paste in -e 'pipework_cmd=br

I may be wrong, but is there still a need for this at all given we can allocate dedicated IP addresses per container. My use case for dedicated IP per container is for pihole only, but I guess it cou

Posted Images

I'm not sure what causing you issues but am wondering if it is related to your host NIC somehow.

 

Do you have more than one NIC?

What shows up when you ifconfig on unRAID?

 

I see br0, docker0 which are the bridges and eth0, lo. I am running unRAID virtualized with vmxnet3 driver.

 

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.XX  netmask 255.255.255.0  broadcast 192.168.3.255
        ether 00:XX  txqueuelen 0  (Ethernet)
        RX packets 8815495  bytes 17648101390 (16.4 GiB)
        RX errors 0  dropped 3807  overruns 0  frame 0
        TX packets 4018694  bytes 1016945854 (969.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.42.1  netmask 255.255.0.0  broadcast 0.0.0.0
        ether 00:XX  txqueuelen 0  (Ethernet)
        RX packets 1797921  bytes 149382321 (142.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5047397  bytes 9503846239 (8.8 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        ether 00:XX  txqueuelen 1000  (Ethernet)
        RX packets 13117356  bytes 18057322428 (16.8 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4024345  bytes 1017239706 (970.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 0  (Local Loopback)
        RX packets 4105  bytes 771247 (753.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4105  bytes 771247 (753.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth2bf4d34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether ba:21:72:cf:e7:73  txqueuelen 0  (Ethernet)
        RX packets 69200  bytes 27346032 (26.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 79714  bytes 12825081 (12.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth4dd9eaf: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 92:a9:42:eb:f6:05  txqueuelen 0  (Ethernet)
        RX packets 72506  bytes 5331647 (5.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 105793  bytes 179253908 (170.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth5ac142d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 4e:3b:98:dc:05:fe  txqueuelen 0  (Ethernet)
        RX packets 994  bytes 122848 (119.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2849  bytes 1803506 (1.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth634cf97: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 6a:f0:40:e8:dd:05  txqueuelen 0  (Ethernet)
        RX packets 52  bytes 11215 (10.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1879  bytes 390422 (381.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth6b2f9dd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 6a:3b:c9:e8:f6:5b  txqueuelen 0  (Ethernet)
        RX packets 8648  bytes 3161512 (3.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10996  bytes 4612109 (4.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth82f9d0f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 8e:a9:bd:ef:dc:d0  txqueuelen 0  (Ethernet)
        RX packets 163410  bytes 32650586 (31.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 164820  bytes 86582331 (82.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth917ce77: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether e2:db:9e:49:81:29  txqueuelen 0  (Ethernet)
        RX packets 1391989  bytes 99458986 (94.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4565776  bytes 8959663776 (8.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Looks like possible subnetting/configuration issue.  IP for br0 is x.x.1.x and broadcast for br0 is x.x.3.x.  You need router (bridge) support to communicate across subnets and to support access to the internet for your isolated subnet.  Doing this via Tapatalk so could not be seeing something, but looks like your normal subnet and your docker IP subnet are different so you need to enable/add support for that on your router.

 

Sent from my ASUS_Z00AD using Tapatalk

 

 

Link to post

There has been a new version of pipework pushed to the latest tag. This will break the compatibility with unraid as we are not up to date on the docker versions.

 

In the mean time add the tag of 1.1.5 to the docker template to get the last working version for 6.1.

The repository should look like this:

dreamcat4/pipework:1.1.5

 

unraid 6.2 will partially work with this version as discussed earlier.

 

I am working on a fix to this at the moment. It is to do with docker api versions so I am learning that quickly to try and come up with a backward compatible solution.

Link to post

I have found the fix for unRAID 6.2. I have updated the opening post to reflect the current install requirements.

 

Choosing the correct version

By default docker templates grab the 'latest' build this may cause you issues.

For unRAID 6.0 and 6.1 you need to use

dreamcat4/pipework:1.1.5

 

For unRAID 6.2 you need to use

dreamcat4/pipework:1.1.6

An additional environmental variable is required for unRAID 6.2. If using the Community Application templates this will be already in place.

-e DOCKER_API_VERSION=1.22

 

Feel free to try the 1.1.6 version on unraid 6.0 or 6.1 as I haven't tested it but I expect that it will fail.

Link to post
  • 2 months later...

is this working in 6.2.3?

 

i'm not having much luck atm :(

 

i keep seeing

 

event_line=2016-11-22T23:09:04.461430503Z container start d7088008c27a037d09adade5e5556562a3403fb0c9c182553cc923ee8da82e56 (image=gfjardim/transmission, name=Transmission)
Device "eth1" does not exist.

 

i have entered this in the additional parameters

 

-e 'pipework_cmd=br0 @CONTAINER_NAME@ udhcpc'

 

any ideas?

 

thanks

Link to post

It still works with that version I think. I am currently using 6.3rc without issue.

 

Can you try it with a static ip instead of dhcp. I have had issues with dhcp in the past.

Also check your network settings to make sure br0 is active. Try 'ifconfig' to see if it is there.

 

I will have a look in more detail at your setting when I'm near my unraid computer next.

 

 

Sent from my iPhone using Tapatalk

Link to post
  • 3 months later...

Hi,

 

I'm struggling to get this working - I've a few different things I want to use this for but have been testing with a Transmission docker.  My unRaid is the current version and I'm using pipework-1.1.6. 

 

I believe I have set up both pipework and transmission dockers correctly.  Pipework is set to 'host' and Transmission to 'none' and extra parameters

-e 'pipework_cmd=br0 @transmission@ 192.168.1.3/24@192.168.1.1'

 

Checking the transmission docker shows no network connection (only loopback):

root@Tower:~# docker exec -it transmission ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 

Pipework log shows:


event_line=2017-03-08T15:28:33.713249319Z container start 804a43d744b33c72c6aaf968d8c3552646278eec8b209d41587ec3e2a9ce3305 (build_version=Linuxserver.io version:- 54 Build-date:- March-04-2017-12:22:56-UTC, image=linuxserver/transmission, name=transmission)
Device "eth1" does not exist.

 

Looks like no ethernet interface is being substantiated in the docker.  

 

Any help here would be much appreciated.  Thanks.

 

Link to post

Pipework looks correct, however the br0 being associated with eth1 is most likely the issue.  Look at your network settings under Settings->Network Settings in the unRAID GUI and see what br0 is configured as or post a screenshot.

Link to post
8 hours ago, unevent said:

Pipework looks correct, however the br0 being associated with eth1 is most likely the issue.  Look at your network settings under Settings->Network Settings in the unRAID GUI and see what br0 is configured as or post a screenshot.

Thanks.

I was thinking it must be related to the way the bridge was set up but I don't see anything out of place:


root@Tower:~# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 0.0.0.0
        ether xxxxxxxxxx  txqueuelen 1000  (Ethernet)
        RX packets 4614  bytes 1160833 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2766  bytes 648307 (633.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 0.0.0.0
        ether xxxxxxxxxx  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        ether xxxxxxxxxx   txqueuelen 1000  (Ethernet)
        RX packets 4615  bytes 1235407 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2741  bytes 638227 (623.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.255.255.255
        loop  txqueuelen 1  (Local Loopback)
        RX packets 404  bytes 38987 (38.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 404  bytes 38987 (38.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

root@Tower:~#

tower ethernet.jpg

Link to post
7 hours ago, ken-ji said:

Well if you are using 6.3+, you can try this: [6.3.0+] How to setup Dockers without sharing unRAID IP address

tl;dr its a native way (no direct GUI support yet)  for docker containers to use a public (LAN - in this case IP) instead of the internal IP bound to the docker0 bridge

 

Thanks ken-ji   - that looks like a good alternative if I can't get pipework working.

Link to post

Well - just had a forehead slapping moment!

 

I removed the '@'s around the docker name in the extra parameters:


-e 'pipework_cmd=br0 transmission 192.168.1.3/24@192.168.1.1'

 

And it works.

  

I took the instructions too literally.

Edited by RichG
Link to post
1 minute ago, tinglis1 said:

The code @CONTAINER_NAME@ automatically enters the container name.
It should work if you use that instead of the container name.
 

 

Thanks - that makes much more sense now.  I should have realised. 

 

And thanks for the great tool. Will make dockers much more useful - I can ditch a couple of VMs now.

 

Cheers.

Link to post

Hello, is this working in 6.3.2? I cannot get it to work no matter what I do.

 

I am trying to this with the plex server container: I set the network type to NONE

 

then I click at the bottom add container variable. I name it pipework and in the value section I type this:

-e 'pipework_cmd=br0 @CONTAINER_NAME@ 192.168.2.88/24@192.168.2.1'

 

whee my router is 192.168.2.1

I am getting network unreachable error. Any help would be appreciated.

Link to post


What do you mean by this step? as is doesn't sound right. Are you showing the advanced settings and putting the code in the extra parameters section? It sounds like your adding a variable instead.


then I click at the bottom add container variable. I name it pipework and in the value section I type this:
-e 'pipework_cmd=br0 @CONTAINER_NAME@ 192.168.2.88/24@192.168.2.1'



Sent from my iPhone using Tapatalk
Link to post
2 hours ago, theGrok said:

Hello, is this working in 6.3.2? I cannot get it to work no matter what I do.

 

I am trying to this with the plex server container: I set the network type to NONE

 

then I click at the bottom add container variable. I name it pipework and in the value section I type this:

-e 'pipework_cmd=br0 @CONTAINER_NAME@ 192.168.2.88/24@192.168.2.1'

 

whee my router is 192.168.2.1

I am getting network unreachable error. Any help would be appreciated.

 

 

Remove the pipework variable you added to the plex docker.  In the plex docker settings enable advanced view (slide toggle top-right) and in the 'Extra Parameters' box paste in

-e 'pipework_cmd=br0 @CONTAINER_NAME@ 192.168.2.88/24@192.168.2.1'

Leave "@CONTAINER_NAME@" exactly as it is, do not rename it to plex as it does it automatically.  Apply and start.  This is assuming you have Pipework docker installed and set to host and the plex docker set to none.

Link to post
2 hours ago, unevent said:

 

 

Remove the pipework variable you added to the plex docker.  In the plex docker settings enable advanced view (slide toggle top-right) and in the 'Extra Parameters' box paste in


-e 'pipework_cmd=br0 @CONTAINER_NAME@ 192.168.2.88/24@192.168.2.1'

Leave "@CONTAINER_NAME@" exactly as it is, do not rename it to plex as it does it automatically.  Apply and start.  This is assuming you have Pipework docker installed and set to host and the plex docker set to none.

 

Thank you so much for your response. I got this working in 6.3.2 thanks to your help!  Turns out I already had some extra parameters in there for CPU pinning. Do you know how I would separate those to include both?

Link to post
4 hours ago, theGrok said:

 

Thank you so much for your response. I got this working in 6.3.2 thanks to your help!  Turns out I already had some extra parameters in there for CPU pinning. Do you know how I would separate those to include both?

 

I believe it only takes a space between commands as they are appended to the docker run command at start.

Link to post
  • 3 weeks later...

I'm having some interesting issues with docker containers assigned IP addresses using pipework. I've got my Plex and SABnzbd dockers being given their own IP's, but they fall over at least once per day (and only those containers). I'm not sure if it's the amount of API calls between SAB/Plex/Radarr/Sonarr, but the only two I have to restart on a regular basis are the pipework ones. Obviously an ideal situation would be for Lime to implement the available docker implementation rather than running something like pipework, but I wondered if anyone else was having similar issues?

Link to post
13 hours ago, BlackDwarf said:

I'm having some interesting issues with docker containers assigned IP addresses using pipework. I've got my Plex and SABnzbd dockers being given their own IP's, but they fall over at least once per day (and only those containers). I'm not sure if it's the amount of API calls between SAB/Plex/Radarr/Sonarr, but the only two I have to restart on a regular basis are the pipework ones. Obviously an ideal situation would be for Lime to implement the available docker implementation rather than running something like pipework, but I wondered if anyone else was having similar issues?

 

Post a diagnostics, perhaps someone might pick up on something to point to a cause.

Link to post
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.