Почему Docker не открывает порт? (с использованием Maven Grizzly Jenkins Blue-Ocean)

Изменение одного из руководств в учебнике jenkins/blue-ocean для java для создания веб-приложения.

Jenkinsfile содержит:

docker {
  image 'maven:3-alpine'
  args '-v /root/.m2:/root/.m2 -p 8050:8050'
}

stage('Deliver') { 
        steps {
            sh './jenkins/scripts/deliver.sh' 
        }
}

в то время как файл delivery.sh содержит:

#!/usr/bin/env bash
set -x
mvn exec:java
echo 'Done!'

Когда он запускается, журнал конвейера показывает:

INFO: Started listener bound to [localhost:8050]
Mar 22, 2018 7:26:10 PM org.glassfish.grizzly.http.server.HttpServer start
INFO: [HttpServer] Started.
Jersey app started with WADL available at http://localhost:8050/myapp/application.wadl
Hit enter to stop it...

но команда netstat -atun | grep LISTENне показывает 8050, а попытка доступа к нему из браузера ничего не дает.

Какие-либо предложения?

1 ответ

Если вы не работаете в Linux, докер, скорее всего, будет работать на виртуальной машине. Бежать

docker-machine ip

чтобы получить IP-адрес виртуальной машины и использовать его в URL-адресе, например, http://192.168.99.100:8050/myapp/application.wadl

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