Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Port assigned to docker container in use by docker-proxy, preventing container from ever starting.

Featured Replies

Hello, I'm currently using UNRAID 6.12.10. Recently I started getting an Execution error whenever I try to start a particular container (Jackett).

 

image.thumb.png.036054bf859731bb7ed42f5c5e62852b.png

 

If I start it from the command line, I get a little more details:

 

# docker start jackett
Error response from daemon: driver failed programming external connectivity on endpoint jackett (c416528d960abb5b43aeba21188ba5e9a1ed0f6bbd47bb78569cfe80b29a71e2): Bind for 0.0.0.0:9117 failed: port is already allocated
Error: failed to start containers: jackett

 

So I check to see what is using the port, and it's docker-proxy:
 

# sudo ss -tunlp | grep 9117
tcp   LISTEN 0      4096                   0.0.0.0:9117       0.0.0.0:*    users:(("docker-proxy",pid=9917,fd=4))                   
tcp   LISTEN 0      4096                      [::]:9117          [::]:*    users:(("docker-proxy",pid=9924,fd=4))

 

I don't see these ports in use when I do docker ps. If I kill these processes, it doesn't seem to actually free the ports, as the Jackett container still can't start.

 

I searched online for similar issues and saw people having trouble with docker-proxy occupying a port and  preventing a container from starting, and the resolution was to stop the docker service and delete the file /var/lib/docker/network/files/local-kv.db and restart docker, but this didn't help in my case.

 

Does anyone have any suggestions on something I can do to find out why docker-proxy is hanging onto that port and how to stop it?

Can't help with the docker port assignment, other than to suggest changing ports in the container and forget about it.

 

But what I can suggest is running a current version of Unraid, as 6.12.10 is over 7 months old and I can't think that anyone wants to jump back to it to double-check to see if it's something that's been fixed but undocumented.

  • 2 weeks later...
  • Author

Thanks for the suggestions!

 

I updated to 6.12.13 and am still experiencing the issue. I'd like to avoid changing the port because I use the URL of the Jackett container in the configuration of all my other containers and would need to update all of those. Maybe this should be my impetus to set up an internal reverse proxy, but that's another story.

 

I tried changing Jackett to another port to see if that would somehow free up the original port. Jackett started fine of course but the old port remained in use. Switching back to the original port and it wouldn't start as expected.

 

I tried running nmap to see if I could get any more information and it reported that the port was closed.

 

I'm kind of resigned to changing the port and reconfiguring, but having a port permanently occupied by some sort of zombie process doesn't sit right with me.

  • Community Expert

Since you already rebooted, it wouldnt be a zombie process. So what Docker container are you running in host mode?

Edit:
Heres a list of container compiled that are using said port by default and are currrently available on the app store.
 

  • jackett
  • openvpn-antizapret
  • binhex-jackett
  • jackettvpn


UnRaid doesnt use said port at all. So good luck finding whatever container it is.

Edited by Mainfrezzer

  • Author

I didn't mean zombie process in the traditional sense, I just couldn't think of a better way to describe docker-proxy reserving the port for a container/process that isn't running.

 

I'm running cloudflared-tunnel and Plex-Media-Server in host mode. Is there something wrong with having these configured this way?

 

I made a little bit of progress on my own. Before, I'd mentioned other users on different operating systems reporting success by stoping docker, deleting /var/lib/docker/network/files/local-kv.db, and starting docker. A few weeks ago, I tried this and noticed the entire /var/lib/docker directory is empty when Docker isn't running. I decided to pursue this a little further today and tried deleting local-kv.db *before* stopping Docker, and when I restarted it, it was no longer reserving port 9117 when starting up and I was able to start Jackett on that port! I'm guessing Unraid manages /var/lib/docker differently than other systems and its directory is unmounted when not running.

 

However, I have one issue that came up after doing this. My wireguard vpn network isn't an option in Docker anymore, I onlly have the options Bridge, Host, None, and br0. I wasn't sure how to add it back, but I went into Unraid's VPN settings and just re-applied the settings and it appeared. However, while the containers using the wiregurd network are able to obtain IP addresses. I'm unable to connect to their web addresses and from one of the container's shell, i'm not able to ping any Internet or local IP addresses. I ended up deleting and recreating the tunnel and now everything is working, phew. 

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.