Как развернуть Docker-контейнер на удалённом хосте?
Развертывание Docker-контейнера на удалённом хосте может быть выполнено несколькими способами. Рассмотрим один из самых распространённых подходов, который включает использование SSH для доступа к удалённой машине и передачу необходимых команд.
Шаги для развертывания Docker-контейнера на удалённом хосте
ssh username@remote_host "docker --version"
Если Docker не установлен, вы можете установить его, следуя официальной документации Docker для своей операционной системы.
docker save
и scp
. Вот как это сделать:# На локальном хосте
docker save -o myapp.tar myapp:latest
# Передача образа на удалённый хост
scp myapp.tar username@remote_host:/path/to/destination
ssh username@remote_host "docker load -i /path/to/destination/myapp.tar"
ssh username@remote_host "docker run -d -p 80:80 myapp:latest"
Здесь
-d
запускает контейнер в режиме фонового выполнения, а -p 80:80
перенаправляет порт 80 локального хоста на порт 80 контейнера.Альтернативный способ: Использование Docker Hub
Если вы хотите избежать передачи образа вручную, можно использовать Docker Hub. Для этого необходимо сначала залить ваш образ в Docker Hub:
docker tag myapp:latest username/myapp:latest
docker push username/myapp:latest
Теперь на удалённом хосте вы можете просто выполнить:
ssh username@remote_host "docker pull username/myapp:latest"
ssh username@remote_host "docker run -d -p 80:80 username/myapp:latest"
Заключение
Развёртывание Docker-контейнеров на удалённые хосты может быть выполнено разными способами. Выбор подхода зависит от ваших нужд и инфраструктуры. Используя SSH и Docker Hub, вы сможете эффективно управлять вашими контейнерами на удалённых серверах.