加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 03:22:54 所属栏目:安全 来源:网络整理
导读:我正在尝试使用Docker运行Jenkins服务器. 我已经构建了映像,并尝试使用以下命令运行它: docker run -p 8080:8080 62a4e44bf4bf 62a4e44bf4bf是docker映像ID 每当我运行此命令时,它都会立即关闭. 我已经尝试过使用以下命令: docker run -i -t -p 8080:8080

我正在尝试使用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/.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读