【Docker】部署带mysql和redis的springboot项目

【Docker】部署带mysql和redis的springboot项目

(1)准备项目代码进行本地测试

(2)修改代码的mysql和redis配置信息
IP地址要改成对应的信息

(3)项目打成war包
如果打成jar包的话会报错找不到jsp文件

(4)服务器安装docker、mysql、redis
之前已经安装完成了
首先启动docker

systemctl start docker

然后启动mysql

docker start mysql

然后启动redis
注意的是:
1-要么把redis的密码设置上,要么把把保护机制设置为no
2-配置文件里的port是6379,那么创建容器的时候对应的端口就要也是6379,项目配置文件里也是

docker start myredis3

(5)导入数据库和数据
进入mysql容器

docker exec -it mysql /bin/bash

创建数据库和数据表

mysql -uroot -p123456

CREATE DATABASE tmall_springboot DEFAULT CHARACTER SET utf8;

use tmall_springboot;

CREATE TABLE category_ (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

(6)上传springboot项目到服务器,防火墙开放端口

scp -P 22 /Users/sunzhi/IdeaProjects/springboot/target/springboot-0.0.1-SNAPSHOT.jar root@192.168.19.11:/mydocker

scp -P 22 /Users/sunzhi/IdeaProjects/group5/target/group5-0.0.1-SNAPSHOT.jar root@192.168.19.11:/mydocker

(7)编写Dockerfile文件

vim Dockerfile

#定义父镜像
FROM java:8
#定义作者信息
MAINTAINER AllenSun<>
#VOLUME指定临时文件目录为tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
#ADD 文件名 app.jar (我到时打算把jar包和Dockerfile文件放在同一级目录文件)
ADD ./group5-0.0.1-SNAPSHOT.jar allen_docker.jar
#运行jar包
RUN bash -c ‘touch /allen_docker.jar’
ENTRYPOINT [“java”,“-jar”,“/allen_docker.jar”]
#暴露6001端口作为项目端口
EXPOSE 7777

(8)Dockerfile构建镜像

#docker build –f (dockerfile文件路径) –t 镜像名称:版本  .
docker build -t allen_docker:1.6 .

请添加图片描述

docker images查看镜像是否创建成功
请添加图片描述
(9)创建容器

#docker run -d -p 7777:7777 镜像ID
docker run -d -p 7777:7777 5f5365d17d9f

(10)本地测试
首先通过docker logs 容器ID来查看springboot是不是真的启动成功了
docker run -p 6379:6379 --name myredis3 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

猜你喜欢

转载自blog.csdn.net/weixin_44823875/article/details/128916939
今日推荐