Docker+jenkins离线环境配置 - Go语言中文社区

Docker+jenkins离线环境配置


安装环境

1.操作系统 centos7.3
2.Docker

问题所在

离线环境
由于公司服务器是离线环境,正常安装jenkins之后无法下载插件,需要在有网环境中打包好镜像。

创建挂载文件夹

mkdir /var/jenkins
chown -R 1000 /var/jenkins

此处是为了将容器中 '/var/jenkins_home’ 挂载至物理机中创建的文件夹,第二行命令是为了赋予权限,不然docker没有权限修改文件。

使用镜像

docker run -d --name myjenkins_old  -p 8889:8080 -p 55000:50000 -p 45000:45000  -v /var/jenkins/:/var/jenkins_home jenkins/jenkins

命令详解

-d:后台运行容器,可以通过docker exec -it 容器名 /bin/bash进入容器。
–name :容器命名,即 myjenkins_old 为此容器别名。
-p:端口代理,物理机的8889端口连接至容器的8080端口(即jenkins地址)。
-v:挂载,将物理机的/var/jenkins与容器的/var/jenkins_home相连,一处更改,两处变动。
jenkins/jenkins:docker会从本地镜像库中查询该镜像,如果没有的话会从docker官方镜像库中查找。(注意不要写成jenkins,docker镜像库的jenkins是很久以前的版本)

配置jenkins

访问jenkins

通过物理机ip:8889访问jenkins网页,初次登录需要输入密钥
在这里插入图片描述
有两种办法获得密钥:
物理机
由于启动时设置了挂载,所以可以在物理机上找到密钥
cat /var/jenkins/secrets/initialAdminPassword
容器
如果没有设置挂载,那么可以通过docker exec进入容器。

docker exec -it 容器名 /bin/bash
cat /var/jenkins_home/secrtes/initialAdminPassword

输入之后正常下载jenkins插件,完成配置。

打包镜像

失败尝试
一开始试图使用docker commit打包镜像,最终已失败告终(原因不明).

Dockerfile
1.新建Docker文件夹
为了打包方便,建议将DockerFile和打包中需要的文件防止在同一个文件夹中。

mkdir jenkins_files

2.下载jenkens配置文件至物理机。

cp /var/jenkins .

或者

docker cp 容器名:/var/jenkins_home .

3.编写Dockerfile 文件

  1. 新建一个Dockerfile文件vim Dockerfile
  2. 修改文件内容。其中--chown=jenkins至关重要,如果不赋权,创建容器时会权限不足。如果出现权限不足的命令,可以尝试在docker run 中加入-u 0试试。
FROM jenkins/jenkins
COPY --chown=jenkins ./jenkins_home /var/jenkins_home

  1. 创建镜像docker build -t jenkins_plugins .

-t 是名字和标签,即创建了一个名为jenkins_plugins的镜像 最后那个 . 不要忘记加,是指定上下文路径,因为Dockerfile中的路径是上下文路径,可以查看这篇文章Dockerfile构建镜像并理解上下文.

  • 根据新镜像创建容器时,不能使用-v挂载磁盘,不然会无效。具体原因待探究。

未完

至此,已经成功创建了带有插件的jenkins镜像,后续内容以后再说。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiashei/article/details/87880180
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢