Jenkins Pipeline使用dockerfile的问题

  • Dockerfile文件内容:
FROM python:3.9.2
MAINTAINER Tiven <hjjtw@yahoo.com>
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
COPY . .
RUN pip install -r requirements.txt
EXPOSE 5000
VOLUME /code
CMD ["flask", "run"]
  • Jenkinsfile文件内容
pipeline {
    agent {
        dockerfile true
    }
    stages {
        stage("build") {
            steps {
                sh "ls -al"
                sh "uname"
                sh "curl http://127.0.0.1:5000"
            }
        }
        stage("test") {
            steps {
                echo "exec test"
                sh "curl http://127.0.0.1:5000"
            }
        }
    }
}
  • Jenkins构建日志:

image.png

为什么docker run的时候会使用一个cat命令来替换Dockerfile 中的 CMD指令?

我把Dockerfile中的CMD换成ENTRYPOINT,但同样没有执行,
image.png

我应该怎么做呢?

阅读 2.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题