使用docker和jenkins简单部署springboot项目
安装docker
Docker 要求 CentOS 系统的内核版本高于 3.10
uname -r 3.10.0-327.el7.x86_64
安装docker
yum -y install docker-io
启动docker
service docker start
这里最好修改写docker的镜像源,用网易的镜像地址
/etc/docker/daemon.json
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
测试运行 hello-world
docker run hello-world
安装nginx
拉取nginx镜像
docker pull nginx
查看镜像
docker images nginx
创建宿主机路径
mkdir nginx
启动容器
80和80909端口做映射 挂载需要的路径,最重要的是nginx.conf,--name容器名字
docker run -p 80:80 -p 8090:8090 --name mynginx -v /usr/local/cci/files:/www/files -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
查看容器情况
docker ps -a
安装redis
拉取redis镜像
docker pull redis:3.2
查看镜像
docker images redis:3.2
创建宿主机路径
mkdir redis
启动容器
--requirepass 密码, --appendonly redis持久化, redis-server 在容器执行redis-server启动命令
docker run -p 6379:6379 --name myredis -v $PWD/data:/data -d redis:3.2 redis-server --requirepass 123456 --appendonly yes
进入容器
docker exec -it 容器id bash
./redis-cli -h 127.0.0.1 -p 6379 -a Passw0rd
或者进入redis-cli
docker exec -it 容器idredis-cli
info查看redis情况
安装mysql
拉取mysql
docker pull mysql:5.7
查看镜像
docker images mysql:5.7
创建宿主机路径
mkdir mysql
启动容器
MYSQL_ROOT_PASSWORD 初始化密码,lower_case_table_names=1 忽略大小写
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1
用navicat连接成功即可
安装jenkins
拉取jenkins
docker pull jenkins
查看镜像
docker images jenkins
创建宿主机路径
mkdir jenkins
启动容器
--privileged=true 防火墙设置
docker run -itd -p 8082:8080 -p 50000:50000 --name jenkins --privileged=true -v /jenkins:/var/jenkins_home jenkins
浏览器访问ip:8082访问jenkins,输入密码,选择默认插件
安装java
拉取java
docker pull java:8
查看镜像
docker images java:8
部署项目
jenkins部署springboot项目
jenkins中下载maven插件,或者用宿主机的maven,需要jenkins启动时挂载
jenkins配置好ssh连接
创建maven项目,项目名,描述
git地址,用户名和密码,分支
构建选择maven配置
选择execute shell script on remote host using ssh
选择ssh连接,输入ssh脚本
脚本步骤:
下载springboot项目里的Dockerfile文件到服务文件下,Dockerfile如下:
FROM java:8
EXPOSE 8080
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
VOLUME /tmp
ADD qr.jar /app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar"]
传输jar到服务文件下
停止对应docker容器 docker stop
删除对应docker容器 docker rm
删除对应docker镜像 docker rmi
重新构建docker镜像 docker built -t 服务路径
启动容器
--spring.cloud.config.profile=prod 指定配置文件
docker run --name qr -v /etc/localtime:/etc/localtime -d -p 8080:8080 --link myredis:redis -v /usr/local/cci/files/:/usr/local/cci/files/ -v /datadisk/docker/logs/qr-logs:/datadisk/logs/service/qr/ qr java -jar -Dfile.encoding=UTF8 -Duser.timezone=GMT+08 --spring.cloud.config.profile=prod -Xmx1000m /datadisk/docker/qr/qr.jar
因为上面redis容器开启了防火墙,所以这里时连接不上的,需要用到--link myredis:redis,springboot直接redis配置host为"redis"即可,因为所有服务都是在同一docker下,如果容器时没有开启防火墙的,可以用容器ip访问。
查看容器ip命令 docker inspect 容器id
使用docker和jenkins简单部署springboot项目相关推荐
- 【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目
日常开发项目的过程中,我们每次需要部署线上的时候,都需要安装一大堆的运行环境,例如:JDK.MySQL.Redis 等,非常花费时间.我们可以使用 Docker 的容器技术,方便快捷地搭建项目启动所需 ...
- 利用Jenkins自动化部署springboot项目到阿里云服务器(centos8)
背景: 最近想部署一个springboot项目到阿里云服务器里面.捣鼓了很久,构建了很多次,都失败了!实在是一脸辛酸,有点气馁~ 在此想记录一下构建的过程. 不了解Jenkins之前,觉得Jenkin ...
- 从零学习Jenkins部署SpringBoot项目
前言 之前项目中虽然使用过 Jenkins,但是都只是使用,没有自己搭建过,完整部署一个项目.既然工作中没有独立部署过,那么就只能自己动手实操一番,技多不压身嘛. 一开始是在本机上下载安装 Jenki ...
- Docker系列之Jenkins+Git实现流水线部署SpringBoot项目
1. 概述 本文使用Docker.Jenkins和Gitee持续部署SpringBoot项目,小伙伴们需要提前准备好Docker和Jenkins开发环境,有不清楚如何安装Docker和Jenkins的 ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- 又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式
又到了上云时刻啦!!!阿里云 Docker部署SpringBoot项目 方便测试的部署方式 部署思路: 具体步骤: 1.打成jar 2.上传到服务器 3.启动JDK容器 4.进入JDK 容器 启动 项 ...
- docker镜像原理基础与dockerfile部署springboot项目
一.docker镜像原理 1.操作系统组成部分 进程调度子系统 进程通信子系统 内存管理子系统 设备管理子系统 文件管理子系统 网络通信子系统 作业控制子系统 Linux文件系统由bootfs和roo ...
- Jenkins下载安装、部署SpringBoot项目
目录 1. Jenkins是什么 2.安装Jenkins 3.Jenkins初始化 4.简单测试Jenkins 5.Jenkins部署SpringBoot项目 5.1 Jenkins的配置 5.2 J ...
- jenkins整合gitee自动部署SpringBoot项目
文章目录 前提条件 一.服务器安装jenkins 方法一:简单快捷 第一步:将jenkens.war导入到系统 第二步:放在tomcat的webapp下面 第三步:访问http://ip:8080/j ...
最新文章
- 【spring】具名参数
- Python 多进程pool.map()方法的使用
- Enterprise Library 4.1 快速上手(图)
- linux多线程学习(六)——信号量实现同步
- 【elasticsearch】elasticsearch 精确匹配 与 全文搜索
- mysql qpstps测试_mysql操作日志
- maven自定义本地仓库目录
- 【网络流24题】餐巾计划问题(费用流)
- 5. 什么是命名空间
- HTML,模仿网易登陆界面
- IT人的第一份简历(Word版 、Markdown版、PDF版,静动态网页版)
- Maya2018安装报错:visual c++ 2010 sp1 错误代码1612
- dns服务器 性能测试,dns服务器性能测试报告.docx
- Linux文件加密系统-eCryptfs
- 全国计算机二级ACCESS在线,全国计算机二级《Access》操作试题及答案
- 机试算法讲解:第26题 分解素因数
- Loadrunner添加关联
- RPM包安装或者安装源码包
- 直播播放器+html5,10款html5网页播放器推荐(总有一款适合你)
- MySQL数据库中常用SQL语句