Дисклеймер

Данная инструкция предполагает использование TCP-соединения для удаленного управления Docker. Убедитесь, что настройка безопасна в вашем окружении, так как открытие TCP-порта Docker без дополнительной защиты (например, TLS) может создать риски для безопасности.

Подключиться к удаленной машине

ssh <REMOTE_IP>

На удаленной машине

  1. Установить Docker. Ниже список команд, которые нужно выполнить последовательно:
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
 
sudo usermod -aG docker $USER
newgrp docker
  1. Проверить Docker. Запустить команду:
docker ps
  1. (опционально) Запустить dozzle (или другой инструмент) для доступа к логам.
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest
  1. Открыть файл sudo nano /lib/systemd/system/docker.service и изменить настройку ExecStart.
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
  1. Перезапустить Docker.
sudo systemctl daemon-reload
sudo systemctl restart docker
  1. Проверить состояние службы Docker:
sudo systemctl status docker
  1. Проверить, что Docker порт используется:
sudo ss -tuln | grep 2375

На локальной машине

  1. Проверить доступность удаленного Docker:
docker -H tcp://<REMOTE_IP>:2375 ps
  1. Прописать переменную в нужном месте. Например в ~/.bash_profile.
export DOCKER_HOST="tcp://<REMOTE_IP>:2375"

Alias

alias dockerx="docker -H=your-remote-server.org:2375"

For ssh

export DOCKER_HOST="ssh://username@your-remote-server.org"

docker