Skip to content

Instantly share code, notes, and snippets.

@styblope
Last active November 15, 2024 03:16
Show Gist options
  • Save styblope/dc55e0ad2a9848f2cc3307d4819d819f to your computer and use it in GitHub Desktop.
Save styblope/dc55e0ad2a9848f2cc3307d4819d819f to your computer and use it in GitHub Desktop.
Enable TCP port 2375 for external connection to Docker

Enable TCP port 2375 for external connection to Docker

See this issue.
Docker best practise to Control and configure Docker with systemd.

  1. Create daemon.json file in /etc/docker:

     {"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]}
    
  2. Add /etc/systemd/system/docker.service.d/override.conf

     [Service]
     ExecStart=
     ExecStart=/usr/bin/dockerd
    
  3. Reload the systemd daemon:

     systemctl daemon-reload
    
  4. Restart docker:

     systemctl restart docker.service
    
@4thel00z
Copy link

4thel00z commented Oct 9, 2024

Exposing the docker daemon on 0.0.0.0 especially on something which faces the internet is a TERRIBLE idea!

It's literally like giving everyone sudo access...

Bind to 127.0.0.1 and portforward.

You don't even have to, the docker client can speak ssh) via: DOCKER_HOST=“ssh://user@remotehost

@gsemet
Copy link

gsemet commented Nov 3, 2024

i had to do the following:

$ cat /etc/systemd/system/docker.service.d/override.conf
[Service]
 ExecStart=
 ExecStart=/usr/sbin/dockerd --config-file /etc/docker/daemon.overrided.json

$ cat /etc/docker/daemon.overrided.json
{
  "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}

The binary is in /usr/sbin/dockerd, and changing the daemon.json conflicted with the default parameter -H fd://

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment