在docker里运行jenkins server。
docker验证
简单地理解docker是一个类似于虚拟机的容器,提供一个相对独立且与host隔离的环境, docker比虚拟机更轻量级,可以用来软件的测试,打包,发布,运行等。
检查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
下载jenkins docker image
在hub.docker.com上可以看到jenkins的image的下载方法。执行如下命令下载image:
sudo docker pull jenkinsci/jenkins
运行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
配置Jenkins
在浏览器中打开jenkins,输入
https://10.1.70.211:8088/
如果提示你输入密码,通过查询日志 获取jenkins密码验证。
docker logs 17c627549827ce586a7cf9260caad05aecb09a88a2187716eba351d8e83e8c6b
大功告成!
博主的博客系统是什么系统啊,挺好的
功能拼接的,看哪个好看,就自己模仿写的,风格是markdown。