jenkins制作镜像遇到的问题

jenkins制作镜像遇到的问题
官方镜像下载地址:https://hub.docker.com/r/jenkinsci/jenkins/tags
在这里插入图片描述
官方镜像在使用过程中发现的缺陷:jenkins官方2.150.1镜像搭建问题总结
基于以上问题,我自己重新构建一个镜像,以防止每次pod重启时都要重新安装。

Dockerfile:
FROM 10.19.248.12:30100/staging/tool-jenkins:2.150.1
USER root
COPY sources.list /etc/apt/
RUN apt-key update
RUN apt-get update
RUN apt-get --allow-unauthenticated install -y docker.io
RUN apt-get --allow-unauthenticated install -y sudo
RUN apt-get --allow-unauthenticated install -y sshpass
COPY daemon.json /etc/docker
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
在这里插入图片描述
通过dockerfile制作镜像时会遇到的问题:
1、启动docker服务时无法创建日志文件启动失败。
   解决方式:制作镜像启动docker服务我一开始是放在RUN下面执行的,后来发现这个是不被允许的,只能通过CMD来执行,但是又不能覆盖原生镜像的CMD命令。这样我们就要继承原生的ENTRPOINT和CMD。
   通过docker inspect 10.19.248.12:30100/staging/tool-jenkins-jxy:3.0查看原始镜像的ENTRPOINT和CMD信息。
   在这里插入图片描述
   这里我们可以看书原始镜像执行了jenkins.sh脚本,我们只要新建一个脚本启动docker然后包含jenkins.sh脚本就可以了。
   在这里插入图片描述
2、apt-get install 安装失败,不允许-y未验证的安装包。
   解决方式:在apt-get install 上加上–allow-unauthenticated允许未验证的安装

Jenkins启动后,首次构建执行sshpass命令时会遇到如下报错Host key verification failed:
   在这里插入图片描述
    解决方式:这个只需要进入pod执行ssh 10.37.149.106登录一下就完成了认证,再次构建就不会报这个错了。

sources.list文件内容:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
daemon.json文件内容:
{ “insecure-registries”:[“10.19.248.12:30100”] }

猜你喜欢

转载自blog.csdn.net/weixin_43968572/article/details/85121508