【问题标题】:Docker is listening to port specified in run commandDocker 正在监听运行命令中指定的端口
【发布时间】:2020-09-29 01:20:53
【问题描述】:

我在 Jenkins 中创建了一个管道,它从 Github 获取一个应用程序,构建该应用程序,然后构建一个映像,然后最终使用该应用程序运行该映像。

Dockerfile 是:

FROM javastreets/mule:latest

COPY ./target/jenkins-demo-api-1.0.0-1.0.0-SNAPSHOT-mule-application.jar /opt/mule/apps/ 

CMD [ "/opt/mule/bin/mule"]

这里 jenkins-demo-api-1.0.0-1.0.0-SNAPSHOT-mule-application.jar 是来自 Github 的 Jenkins 中内置的应用程序。

管道脚本如下:

pipeline {
    agent any
    
    tools{
        maven 'M3'
    }
    stages {
        stage('git pull'){
            steps{
                git branch: 'master', credentialsId: '025fbee3-18cc-4298-ac9b-adac*****', url: 'https://github.com/treadston-e/mule-jenkins.git'
            }
        }
        stage('Build') {
            steps {
                bat "mvn clean package"
            }
        }
        stage('build image'){
            steps{
                bat 'docker build -t docker-demo .'
            }
        }
        stage('run image'){
            steps{
                bat 'docker run -d -p 127.0.0.1:8081:8081 docker-demo'
            }
        }
       
    }
}

管道成功执行,但是当我尝试点击时,http:localhost:8081 我收到的响应是此页面无法正常工作

我该怎么办?

【问题讨论】:

  • 你可以试试```docker run -d -p 8081:8081 docker-demo```
  • @TayburRahaman 我做了但同样的反应

标签: docker jenkins jenkins-groovy jenkins-docker


【解决方案1】:

您所指的本地主机是 docker 容器的本地主机,与您的客户端不同。尝试在 docker run 命令中指定网络。

docker run -d --network host -p 8081:8081 docker-demo

如果您想查看网桥在哪个IP地址上运行,您可以按如下方式查看:

docker network inspect bridge

【讨论】:

    猜你喜欢
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    相关资源
    最近更新 更多