【新mac工作机】docker化部署jenkins环境(一)

来源:互联网 发布:mac终端返回上级目录 编辑:程序博客网 时间:2024/06/05 06:05

搭建docker

1、brew install docker-machine
2、安装virtualbox 5.1.26
https://www.virtualbox.org/wiki/Downloads
3、创建虚拟机 dev
docker-machine create –driver virtualbox dev
4、运行虚拟机,并设置环境变量(注意,如果是在本地开发机,每次开关机器,都需要重新start)

emambp:~ ema$ docker-machine env devexport DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.99.100:2376"export DOCKER_CERT_PATH="/Users/ema/.docker/machine/machines/dev"export DOCKER_MACHINE_NAME="dev"# Run this command to configure your shell:# eval $(docker-machine env dev)emambp:~ ema$  eval $(docker-machine env dev)

查看虚拟机运行状态,

emambp:~ ema$ docker-machine ls devNAME   ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORSdev    *        virtualbox   Running   tcp://192.168.99.100:2376           v17.06.0-ce

总结:创建以virtualbox驱动 启动的虚拟机。并且建立好和远端docker deamon的连接/ ssh验证关系。
5、安装docker client

emambp:~ ema$ brew install docker

jenkins 部署 master

1,search jenkins镜像

emambp:~ ema$ docker search jenkins

2,pull 镜像

emambp:~ ema$ docker pull jenkins

3,运行单实例jenkins,不想使用默认配置的话,可配置jenkins启动参数,此处暂且先不配置

#docker run -it -d --restart always --name msfjenkins -p 8080:8080 -p 50000:50000 -v ~/jenkins_home:/var/jenkins_home jenkinsdocker run --name myjenkins -d -p 9001:8080 -v ~/jenkins:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins 

命令解析:
-v, 格式 冒号分隔符 前为宿主机信息(本案例 ~/jenkins),后为容器内目录信息(本案例 /var/jenkins_home)
-p ,将容器内8080端口 映射到宿主机9001端口,所以宿主机机访问jenkins需要使用9001端口
容器内jenkins服务,是监听的8080端口。–个人理解 待comment

可登录到jenkins的容器中,查看相关目录信息:

emambp:~ ema$ docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES2f25e5655575        jenkins             "/bin/tini -- /usr..."   2 days ago          Up 2 days           50000/tcp, 0.0.0.0:9001->8080/tcp   myjenkinsemambp:~ ema$ docker exec -it 2f25e5655575 bashjenkins@2f25e5655575:/$ lsbin  boot  dev  docker-java-home  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  varjenkins@2f25e5655575:/$ cd /var/jenkins_home/

4,开发机上查看docker ps,如果正常运行

emambp:~ ema$ docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES2f25e5655575        jenkins             "/bin/tini -- /usr..."   2 days ago          Up 2 days           50000/tcp, 0.0.0.0:9001->8080/tcp   myjenkins

5,然后查看jenkins部署的宿主机(此案例中宿主机为dev 虚拟机),
【注意】这个时候需要查看该虚拟机的ip地址,因为jenkins是部署在这个虚拟机上的 ,所以访问jenkins应该是该虚拟机的ip:9001
查看虚拟机的ip

emambp:~ ema$ docker-machine ip dev192.168.99.100

登录virtualbox验证,确实是这样的:
这里写图片描述
6,打开chrome浏览器,可以直接访问
http://192.168.99.100:9001
出现如下页面:
这里写图片描述

到此,jenkins docker化部署,success

【注意】这192.168.99.100就是你的宿主机的IP地址,你的web服务就监听在上面。当然,这个IP是在你本地的机器上,并不能被外部访问。如果你希望从外部访问你的机器,你需要在Virtualbox上设置端口转发(port forwarding).