最近在学习springboot,刚写完一个demo;下面使用docker部署。作为自己的学习日记。
安装docker:
yum install docker
启动docker:
systemctl start docker
查看docker状态:
systemctl status docker
使用Docker 中国加速器:
vi /etc/docker/daemon.json
#添加后:
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
从新启动docker:
systemctl restart docker
输入docker version 返回版本信息则安装正常:
安装 JDK
1. yum -y install java-1.8.0-openjdk*
配置环境变量 打开 vim /etc/profile 添加一下内容
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
export PATH=$PATH:$JAVA_HOME/bin
修改完成之后,使其生效
source /etc/profile
输入java -version 返回版本信息则安装正常。
安装MAVEN
下载:http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
## 解压
tar vxf apache-maven-3.5.2-bin.tar.gz
## 移动
mv apache-maven-3.5.2 /usr/local/maven3
修改环境变量, 在/etc/profile中添加以下几行:
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
执行source /etc/profile使环境变量生效
输入mvn -version 返回版本信息则安装正常
部署
项目结构:
docker-compose.yml:
app-Dockerfile:
#指定基础镜像 maven:3.5 和 jdk-8
FROM maven:3.5-jdk-8
mysql-dockerfile 和 mysql配置文件:
#指定基础镜像 mysql:5.7.23
FROM mysql:5.7.23
#设置编码格式
ENV LANG C.UTF-8
# 拷贝文件到容器(./是指docker-compose.xml文件位置)
COPY ./docker/mysql/my.cnf etc/mysql/mysql.conf.d/my.cnf
应用创建与逻辑 就不贴出来了,非常简单的增删改查。
值得注意的是:
application-docker.properties 中数据库url ,mwbwfm-mysql 应和docker-compose.yml中的mysql 服务名称一致;也就是此例中的mwbwfm-mysql且需要设置useSSL=false和serverTimezone=Asia/Shanghai:
使用terminal cd 到 docker-compose.yml 文件所在路径 执行 docker-compose up :
使用docker-compse logs 查看启动日志
至此,docker-compose 部署springboot + mysql 已经完成,在本地 访问 http://localhost:9091(此例中映射宿主机的端口是9091)