Почему 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