Дисклеймер
Данная инструкция предполагает использование TCP-соединения для удаленного управления Docker. Убедитесь, что настройка безопасна в вашем окружении, так как открытие TCP-порта Docker без дополнительной защиты (например, TLS) может создать риски для безопасности.
Подключиться к удаленной машине
ssh <REMOTE_IP>
На удаленной машине
- Установить 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
- Проверить Docker. Запустить команду:
docker ps
- (опционально) Запустить dozzle (или другой инструмент) для доступа к логам.
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest
- Открыть файл
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
- Перезапустить Docker.
sudo systemctl daemon-reload
sudo systemctl restart docker
- Проверить состояние службы Docker:
sudo systemctl status docker
- Проверить, что Docker порт используется:
sudo ss -tuln | grep 2375
На локальной машине
- Проверить доступность удаленного Docker:
docker -H tcp://<REMOTE_IP>:2375 ps
- Прописать переменную в нужном месте. Например в
~/.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"