zoukankan      html  css  js  c++  java
  • jenkins和docker 在docker里运行jenkins

    在docker里运行jenkins server。

    文章来自:http://www.ciandcd.com
    文中的代码来自可以从github下载: https://github.com/ciandcd

    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(https://hub.docker.com/r/jenkinsci/jenkins/)上可以看到jenkins的image的下载方法。
    在命令行执行如下命令将下载jenkins的image:
    sudo docker pull jenkinsci/jenkins
     
    3. 运行jenkins docker
    在运行之前可以先查看jenkins的dockerfile(https://github.com/jenkinsci/docker/blob/master/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没有差别了。

     
  • 相关阅读:
    237.Delete Node in a Linked List
    235.Lowest Common Ancestor of a Binary Search Tree
    234.Palindrome Linked List
    232.Implement Queue using Stacks
    231.Power of Two
    226.Invert Binary Tree
    225.Implement Stack using Queues
    Vue概述
    Git分布式版本控制工具
    分布式RPC框架Apache Dubbo
  • 原文地址:https://www.cnblogs.com/itech/p/5666615.html
Copyright © 2011-2022 走看看