jenkins部署docker

1. 先在jenkins上配置拉取代码部分,需要在git上找到项目位置,直接复制url即可
    http://192.168.0.161:3000/IT-Insurance/Back.Test-Walle
    选择git的凭据   #不报错即可
2.  可以先跑一下jenkins,看看代码是否拉取正常,执行命令,编译打包
    cd /root/.jenkins/workspace/test/thanos
    mvn package -PmakeAll -Dmaven.test.skip=true

3. 构建执行shell命令和编译打包放一起
    cd /root/.jenkins/workspace/test/thanos/target
    scp thanos-0.0.1-SNAPSHOT.jar deploy@192.168.0.249:/opt/server/test/
4. 在部署服务器上编写Dockerfile  #docker search -s 10 centos查找镜像  docker pull docker.io/mamohr/centos-java拉取镜像
#Base umages 基础镜像
FROM docker.io/mamohr/centos-java

##MAINTAINER 维护者信息
MAINTAINER liutao

#ADD
ADD thanos-0.0.1-SNAPSHOT.jar /opt

#EXPOSE
EXPOSE 8080

#CMD
ENTRYPOINT    ["java","-jar","/opt/thanos-0.0.1-SNAPSHOT.jar"]

5. 在服务器上安装docker
    yum install -y docker
    systemctl start docker && systemctl enable docker   #启动docker及开机自启动
6. 在jenkins构建新建一个执行shell
    ssh deploy@192.168.0.249 "docker rm -f test_server;docker rmi -f test:v1.0cd /opt/server/test/;docker build -t test:v1.0 . ;docker run -d -p 8080:8080 --restart=always --name test_server test:v1.0"
    也可以写成一个脚本
    #!/bin/sh
    docker rm -f test_server
    docker rmi -f test:v1.0
    cd /opt/server/test/ && docker build -t test:v1.0 . && docker run -d -p 8080:8080 --restart=always --name test_server test:v1.0
#docker run -d -v /data/logs/thanos:/data/logs/thanos -p 19999:9999 --restart=always --name test1_server test1:v1.0 #与容器共享目录,前者为宿主机目录,后者为容器目录 ssh deploy@192.168.0.249 "sh -x /opt/server/test/test.sh" ssh后面双引号必须要有,多个命令用;分割

  

7. 上传到私有仓库,使用harbor仓库
    docker rm -f test2_server
docker rmi -f test2:v2.0
cd /opt/server/test_1/ && docker build -t test2:v2.0 . && docker run -d -v /data/logs/thanos:/data/logs/thanos -p 19999:9999 --name test2_server test2:v2.0
docker tag test2:v2.0 192.168.0.52/test/test2:v2.0
#source /opt/server/test_1/a.sh
docker login --username=admin --password=Harbor12345  192.168.0.52  #登录私有仓库
docker push  192.168.0.52/test/test2:v2.0
8. 拉取私有镜像
    docker login 192.168.0.52
    docker pull 192.168.0.52/test/test2:v2.0
    如提示登录错误,修改一下文件
    vim /etc/docker/daemon.json
    {"registry-mirrors": ["192.168.0.105"]}
    vim /usr/lib/systemd/system/docker.service
    ExecStart=/usr/bin/dockerd-current --insecure-registry 192.168.0.52
    systemctl daemon-reload && systemctl restart docker

  

 

原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/11422913.html