Skip to content

Enable remote access to docker daemon

Connect to remote docker engine

:::info Check on docker daemon version 27.5.1 and docker cli version 28.4.0 :::

Connecting without TLS

On docker engine:

1. Stop Docker Service

sudo systemctl stop docker

2. Start the Docker service

 sudo dockerd --host=tcp://Hostname:2375

On Client Machine

1. Export the variable

export DOCKER_HOST='tcp://hostname:2375'

2. Run the commands

docker ps

Connecting with TLS

On Docker engine

1. Stop the docker services

sudo systemctl stop docker

2. Run the command to enable docker

dockerd --debug \
        --host=tcp://hostname:2376 \
        --tls=true \
        --tlscert=/var/docker/server.pem \
        --tlskey=/var/docker/serverkey.pem

On client machine

1. Export the variable

export DOCKER_HOST='tcp://hostname:2376'

2. Run commands

docker images

Persistent configuration

Create or Edit file /etc/docker/daemon.json

Open the file

sudo vim /etc/docker/daemon.json

Add the content

{
  "debug": true,
  "hosts": ["tcp://hostname:2376"],
  "tls": true,
  "tlscert": "/var/docker/server.pem",
  "tlskey": "/var/docker/serverkey.pem"
}

Start docker daemon

sudo systemctl restart docker