博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jenkins和docker 在docker里运行jenkins
阅读量:7002 次
发布时间:2019-06-27

本文共 2535 字,大约阅读时间需要 8 分钟。

在docker里运行jenkins server。

文章来自:

文中的代码来自可以从github下载: 

1. 安装docker
简单地理解docker是一个类似于虚拟机的容器,提供一个相对独立且与host隔离的环境, docker比虚拟机更轻量级,可以用来软件的测试,打包,发布,运行等。
安装docker,我的是ubuntu 16.04的环境,通过如下命令简单地安装:
sudo apt install docker docker.io
更详细的安装文章:
检查docker安装成功:
sudo docker info

Containers: 1

Running: 1
Paused: 0
Stopped: 0
Images: 2
Server Version: 1.11.2
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 104
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge null host
Kernel Version: 4.4.0-28-generic
Operating System: Ubuntu 16.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.954 GiB
Name: osboxes
ID: WSS3:LUQM:265S:YA4B:VGLL:PK6K:3MCT:FN2W:NLED:2O7Q:NOET:FWKV
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

 
2. 下载jenkins docker image
在hub.docker.com( )上可以看到jenkins的image的下载方法。
在命令行执行如下命令将下载jenkins的image:
sudo docker pull jenkinsci/jenkins
 
3. 运行jenkins docker
在运行之前可以先查看jenkins的dockerfile( ),通过jenkins的dockerfile大概可以了解jenkins的docker image里包含和设置了什么。
 
准备jenkins的log配置文件:
cd /home/osboxes/jenkins_home_docker
cat > log.properties <<EOF
handlers=java.util.logging.ConsoleHandler
jenkins.level=FINEST
java.util.logging.ConsoleHandler.level=FINEST
EOF
 
运行jenkins的docker image:
sudo docker run --name myjenkins -p 8088:8080 -p 50000:50000 
-d --env JAVA_OPTS="-Xmx8192m" --env JAVA_OPTS="-Djava.util.logging.config.file=/home/osboxes/jenkins_home_docker/log.properties"  --env JENKINS_SLAVE_AGENT_PORT=50000 -v /home/osboxes/jenkins_home_docker:/var/jenkins_home  jenkinsci/jenkins
 
docker命令行解释:
docker实例的名字: --name myjenkins,此docker实例的名字为myjenkins。
docker端口映射: -p IP:host_port:container_port, -p 8088:8080 将docker里的8080映射到host中的8088。
环境变量: --env name=value。
目录映射: -v localdir:dockerdir, -v /home/osboxes/jenkins_home_docker:/var/jenkins_home  jenkinsci/jenkins将docker里的JENKINS_HOME /var/jenkins_home映射为host中的/home/osboxes/jenkins_home_docker。
运行的docker image: jenkinsci/jenkins
-d: docker instance将作为demon在后台运行。
如果是java1.7及以前版本,组好设定--env  JAVA_OPTS=”-Xmx8192m -XX:PermSize=
256m -XX:MaxPermSize=1024m”, java1.8后的直接--env JAVA_OPTS="-Xmx8192m"。
 
检查jenkins docker是否运行:

sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14fc572bc91c jenkinsci/jenkins "/bin/tini -- /usr/lo" 18 hours ago Up 18 hours 0.0.0.0:50000->50000/tcp, 0.0.0.0:8088->8080/tcp myjenkins

 

4. 配置Jenkins

在浏览器中打开jenkins,然后配置jenkins,到此时就跟我们之前讲的jenkins没有差别了。

 

转载地址:http://wnrvl.baihongyu.com/

你可能感兴趣的文章
First angular 2 app
查看>>
css边框入门
查看>>
从零开始写个编译器吧 - 分析非终结符
查看>>
由ES规范学JavaScript(二):深入理解“连等赋值”问题
查看>>
4个小例子告诉你:如何成为一名数据极客
查看>>
「JavaScript」JS两种服务端相关跨域方法详解
查看>>
[Leetcode] Sqrt 开方
查看>>
fir.im Weekly - 17 个提升 iOS 开发效率的必备工具
查看>>
Restful API 的设计
查看>>
Apache Lucene 8.0.0 发布,Java 全文搜索引擎
查看>>
Sequelize 和 MySQL 对照
查看>>
如何自学编程?学习方法在这里!
查看>>
好程序员web前端分享js剪切板Clipboard.js 使用
查看>>
访问权限,public private protected
查看>>
Kubernetes(一) - Docker管理工具
查看>>
Linux基础命令---文本编辑ex
查看>>
用开放和流动反抗熵增,生态建设终极哲学——保险生态建设 ...
查看>>
web页面渲染(二)
查看>>
半年两轮融资,小程序生态服务平台「即速应用」再获5000万元A+轮融资 ...
查看>>
JVM 常用参数
查看>>