ubuntu-在Docker中运行Jenkins-立即退出

前端之家收集整理的这篇文章主要介绍了ubuntu-在Docker中运行Jenkins-立即退出 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用Docker运行Jenkins服务器.

我已经构建了映像,并尝试使用以下命令运行它:

docker run -p 8080:8080 62a4e44bf4bf

62a4e44bf4bf是docker映像ID

每当我运行此命令时,它都会立即关闭.

我已经尝试过使用以下命令:

docker run -i -t -p 8080:8080 62a4e44bf4bf

这将保持图像运行,但是我似乎无法使用此ip从我的浏览器访问jenkins:localhost:8080

DOCKERFILE:

FROM ubuntu:latest

#Oracle Java7 install
RUN apt-get install software-properties-common -y
RUN apt-get update
RUN add-apt-repository -y ppa:webupd8team/java
RUN apt-get update
RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
RUN apt-get install -y oracle-java7-installer

#Jenkins install
RUN wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
RUN sudo echo "deb http://pkg.jenkins-ci.org/debian binary/" >>     /etc/apt/sources.list
RUN apt-get update
RUN apt-get install --force-yes -y jenkins

#Zip support install
RUN apt-get update
RUN apt-get -y install zip

#Unzip hang.zip
#RUN cp /shared/hang.zip /var/lib/jenkins
#RUN unzip -o /var/jenkins/hang.zip -d /var/lib/jenkins/

#Restart jenkins server
RUN service jenkins start

EXPOSE 8080
最佳答案
@Detilium Dockerfile中没有CMD或ENTRYPOINT,这就是为什么它自动退出的原因,因为您的容器没有任何运行.根据您自己的答案,您可能是通过使用exec或运行bash并手动启动它来使其工作的,我猜?

但是您的Dockerfile有问题. Docker容器必须以pid 1的身份运行一个进程(在容器内部),并且它必须在前台运行(无守护程序).

而且,映像代表文件系统,而不是状态.如果在构建映像的步骤中(在Dockerfile中)启动某个进程,则不会/ persisted /事实运行该进程,因此在基于该映像运行容器时不会再次启动该进程. docker在启动容器时将运行的默认命令是使用CMD定义的.

RUN service jenkins start

上面的行不起作用.它将在构建的这一步骤启动jenkins并创建一层(甚至可能是空的).但是将要创建的下一层(下一步或实际的docker运行)将不会运行jenkins服务/进程.

对于/ inspiration /对于Jenkins Dockerfile,您可以查看https://github.com/aespinosa/docker-jenkins/blob/master/Dockerfile.注意ENTRYPOINT [“ java”,“-jar”,“ / opt / jenkins.war”]也可以是
CMD [“ java”,“ / opt / jenkins.war”].

我鼓励您阅读以下文档,以更全面地了解docker:https://docs.docker.com/userguide/dockerimages/https://docs.docker.com/reference/builder/https://docs.docker.com/articles/dockerfile_best-practices/.

猜你在找的Docker相关文章