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


jenkins部署docker的更多相关文章
- 在windows下使用jenkins部署docker容器
在windows下使用jenkins部署docker容器最近在学习jenkins,docker部署来实现集成部署,所以想在windows下面实现测试,但是发现在windows下docker支持不是很好 ...
- Jenkins~配合Docker及dotnetCore进行生产和测试环境的灵活部署
回到目录 首先要清楚本文是讲dotnetcore项目在生产和测试环境部署的,这在过去的frameworks项目里,我们可以通过设置web.config的环境变量,然后再发布时指定具体的变量,去实现生产 ...
- 基于Jenkins,docker实现自动化部署(持续交互)
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- 基于Jenkins,docker实现自动化部署(持续交互)【转】
前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...
- Docker容器使用jenkins部署web项目--总结(二)
(1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat. 新建maven项目,添加findbugs plugin. 使用docker启动jenkins,go ...
- 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署
==================================================================================================== ...
- .Net Core 自动化部署:使用jenkins部署到linux docker容器运行
上次我们说到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用,这次我们使用jenkins发布我们的.NET Core站点到docker容器中运行,为后面的的 ...
- .Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用
安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Contai ...
- Jenkins+Git+Docker+K8s部署
准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...
随机推荐
- C/C++在Win32控制台播放Bad Apple
##前言 这里首先你需要准备一些文件,将一个Bad Apple的视频分别转换成txt和mp3格式(mp3用来作为背景音乐) 我将txt文件放到exe文件目录下的子目录files里了 转换方法可以用Ad ...
- [资源] 桃宝上十几块买的C#教程网盘
我粗略的看了下觉得挺好的,分享给大家 链接:https://pan.baidu.com/s/1iHuLUXde4_L7NB-Zw9JWNg 提取码:1314
- eNSP路由器启动#号问题排查
1.删除拖出来的设备,重新拖出来一台---我用过[有时候好使] 2.确保Ensp的设置-工具-Virtual Box安装目录是否正确--我也遇到过[尤其是卸载掉Virtual Box重装之后] 3.确 ...
- 001_iBase4J学习之环境搭建
目录 序言 正文 第一关.拉取项目 第二关.导入数据库 第三关.修改 JDBC 配置文件 第四关.环境搭建,修改 nginx 设置 第五关.添加地址白名单 尾声 序言 大家好,我是白墨! 本次的目标是 ...
- 【面试普通人VS高手系列】Dubbo的服务请求失败怎么处理?
今天分享的面试题,几乎是90%以上的互联网公司都会问到的问题. "Dubbo的服务请求失败怎么处理"? 对于这个问题,我们来看一下普通人和高手的回答. 普通人: 嗯- 我记得, D ...
- 用户与安全 -(1)Linux用户及组管理
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登 ...
- 一条更新的SQL如何执行
开源Linux 一个执着于技术的公众号 一条SQL的执行流程如图所示 如图所示:MySQL数据库主要分为两个层级:服务层和存储引擎层 •服务层:server层包括连接器.查询缓存.分析器.优化器.执行 ...
- 前端面试 -HTTP系列
http和https 的区别? 端口 经济 安全性 响应速度 http 80端口 不需要 明文传输,安全性差 页面响应速度快,使用tcp的3次握手 https 443端口 费钱SSL需要ca 证书 S ...
- 【题解】2021CSP-J2T3网络连接
目录 题目链接 题目分析 是否重复 读入提取数 非法情况判断 参考代码 题目链接 题目分析 map不会冲突!!不一定要like代码中那样加-号! 模拟,算不上大, 首先,我们想想整个流程: 现在,我们 ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...