Как запустить Docker-контейнер на удаленной машине

Я пытаюсь запустить этот код конвейера Дженкинса через DOCKER. Я использую AWS ec2-user в качестве виртуальной машины. Этот код работает нормально, но ...

node{
 stage('SCM CHECKOUT'){
   git 'https://bitbucket.org/rajesh212/myapp.git'    
   }
 stage('MVN BUILD'){
   def mvnHome = tool name: 'maven', type: 'maven'
   sh "${mvnHome}/bin/mvn clean package"
   }
stage('DEPLOYMENT VIA DOCKER'){
   def customImage = docker.build("image:${env.BUILD_ID}")
   docker.image("image:${env.BUILD_ID}").withRun('-p 9090:8080'){sleep 10000}
   }
  1. Если я не даю команду сна, это задание выполняется. успешно, но мой док-контейнер запускается и останавливается немедленно. т.е. Я не могу получить результат. Как решить эту проблему?
  2. Я хочу запустить этот образ докеры на удаленном компьютере? как это сделать?
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
1 268
2

Ответы 2

Для работы на удаленном сервере необходимо использовать withServerкоманда.

Что касается остановки контейнера, попробуйте изменить команду withRun на withRun('-d -p 9090:8080')

Если вы используете декларативные конвейеры, попробуйте эту команду ssh. В качестве предварительного условия вам необходимо настроить пару ключей, чтобы позволить Jenkins использовать ssh на удаленном сервере. Специальная пара ключей ssh ​​для развертывания рекомендуется из соображений безопасности:

stage('Deploy to Production') {
      steps{
        sh 'ssh -i path/to/deploy_private_key user@DNS_REMOTE_SERVER "docker run -d REGISTRY/YOUR_DOCKER_IMAGE:TAG"' 
      }
}

Используйте параметр -d, чтобы запустить контейнер в отключенном режиме. Надеюсь, поможет.

Другие вопросы по теме