我建立了一个管道,它的唯一目的是建立一个映像,然后在其中执行一个简单的命令。在
我可以构建容器,但是,我不能在其中执行任何命令。当我执行'sh'步骤时,它会无限期挂起。在
如果我运行container.run()
方法或container.withRun
,则该步骤将执行,但实际上不会在容器内执行。在
很明显,我做错了什么-有人能给我建议正确的方法吗?我只想能够在容器内部执行步骤,或者-在容器中执行一个命令,然后将操作的结果读回Jenkins。在
node {
String baseName = "salimfadhley/python_hello_world_server"
String buildTag = "${baseName}:${env.BUILD_ID}".toString()
def customImage
stage('Build') {
checkout scm
customImage = docker.build(buildTag)
}
stage('Test') {
customImage.inside('--entrypoint=/bin/bash') {
sh "pwd"
}
}
}
Jenkins日志输出如下所示:
^{pr2}$Dockerfile如下所示:
FROM salimfadhley/testpython:latest
COPY . /project
COPY src /src
RUN python -m pip install --upgrade pip setuptools
RUN python -m pip install -e /project/src
WORKDIR /project
#ENTRYPOINT ["/bin/bash"]
ENTRYPOINT ["uvicorn", "--port=80", "--host=0.0.0.0", "helloworld.main:app"]
EXPOSE 8080
所以,总结一下:我可以修复这个管道,让它真正允许我在容器内运行进程吗?在
我建议你以代理的身份运行dockerfile,然后分步运行你的东西。在
相关问题 更多 >
编程相关推荐