Tag - 镜像

docker jenkins 容器 镜像    2017-06-07 17:51:34    1805
环境:
    CentOS 7
    Docker 1.10.3

1、本机安装docker环境,并配置TCP访问接口
    # vi /usr/lib/systemd/system/docker.service
    修改ExecStart为:
    ExecStart=/usr/bin/docker daemon --tls=false -H unix:///var/run/docker.sock  -H tcp://0.0.0.0:2375

2、pull并运行jenkins的docker镜像

    # docker pull index.docker.io/library/jenkins:1.642.2

    # docker run -d -e "DOCKER_HOST=tcp://192.168.10.136:2375" --name myjenkins -u root -p 8080:8080 -p 50000:50000 -v /home/jenkins-home-docker:/var/jenkins_home jenkins
    # docker cp /usr/bin/docker myjenkins:/usr/bin

3、安装插件:CloudBees Docker Build and Publish plug

4、配置jenkins镜像内部的docker,这里我们直接使用docker的二进制编译版本:
    # wget https://get.docker.com/builds/Linux/x86_64/docker-1.11.2.tgz
    # tar xvf docker-1.11.2.tgz
    # mv docker/* /usr/bin/docker
5、创建项目apache,源码管理选择git,URL为:https://git.coding.net/lightingLYG/apache.git
增加构建步奏,选择“Docker Build and Publish”,填写name,Docker Host URI为tcp://宿主机host:2375
然后点开高级,选中“Skip Push”
保存后即可构建,此处跳过了push到服务器的操作

6、到宿主机中查看镜像是否打包完成
    # docker images

by 刘迎光@萤火虫工作室
OpenB

docker jenkins 容器 镜像    2017-06-07 17:38:18    1144

最近又重新部署了jenkins持续集成系统,看到之前整理的文章不够详细,于是重新整理了docker下使用jenkins的容器进行持续集成的相关文章,拿来分享下

docker环境

  1. registry镜像:registry:2.6.1
  2. docker:17.05.0-ce
  3. registry宿主机IP:192.168.2.10
  4. jenkins的docker镜像:jenkins:2.46.3-alpine

docker-compose 文件:

  1. version: '2'
  2. services:
  3. jenkins:
  4. image: jenkins:2.46.3-alpine
  5. hostname: jenkins
  6. ports:
  7. - "8080:8080"
  8. - "50000:50000"
  9. environment:
  10. - DOCKER_HOST=tcp://192.168.2.10:2375
  11. volumes:
  12. - /home/soft/jenkins_home:/var/jenkins_home
  13. logging:
  14. options:
  15. max-size: "1000k"

部分解释:

jenkins的docker镜像

这个镜像是基于官方的镜像(jenkins:2.46.3-alpine)修改添加部分定制化内容(增加时区设置为上海,增加docker-17.05.0-ce的执行命令到容器中)的镜像

环境变量:DOCKER_HOST

这里的环境变量主要是给容器内的docker执行文件用的,用来标识docker运行的主机,即默认执行如下命令:

  1. docker -H 192.168.2.10:2375 ···

为什么要将docker的可执行文件放到容器中?

主要是为了方便容器中的jenkins在使用的“CloudBees Docker Build and Publish plug”插件中执行docker命令