栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker打包 java springboot vue redis mysql的镜像

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker打包 java springboot vue redis mysql的镜像

参考文章https://www.jb51.net/article/146308.htm

看上面的文章先拉取了一个centos的镜像,尝试之后,安装mysql 有各种问题,所以直接拉一个mysql的镜像 在这个上面搞,因为直接拉取的mysql镜像 所以mysql 都是安装好的

1:mysql 拉取一个mysql镜像

 docker pull mysql:5.7

查看镜像

docker images

 根据镜像启动容器

docker run --name mysql57 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

查看容器

docker ps

 

接下来 进入容器 安装环境和应用

docker exec -it 容器ID  bash

安装redis

apt install redis

安装jdk 从官网下载 linux的jdk 安装包 

从容器内返回 返回的命令返回是快捷键 ctrl+p ctrl+q  摁这两个 可以离开容器

回到宿主机 使用cp命令把jdk安装包拷贝到容器内

docker cp /www/wwwroot/jdk-8u321-linux-x64.tar 容器ID:/usr/local/java/

再次进入容器  进入/usr/local/java/目录 

cd /usr/local/java/

使用tar 解压jdk

tar zxvf jdk-8u321-linux-x64.tar

这样jdk 就安装好了  因为想省事 不设置环境变量了 执行的时候 直接带目录运行jar

安装nginx

apt install nginx

这样 jdk mysql nginx 都安装好了

离开容器 使用cp命令把springboot 打包好的项目 拷贝应用到容器内

docker cp /www/wwwroot/zcgl  容器ID:/opt

进入容器  修改yml  因为镜像内部没有vi命令 先安装 vi命令

apt-get install vim-gtk

启动spring boot项目

/usr/local/java/jdk1.8.0_321/bin/java -jar /opt/zcgl/xx.jar

就可以启动我们的java应用了 我这里遇到几个问题

1:默认mysql 对大小写敏感

需要修改配置文件 配置文件的位置 在 使用vi修改 /etc/mysql/conf.d/mysql.cnf

vi /etc/mysql/conf.d/mysql.cnf

增加配置项目

 2:初始化数据库 直接用Navicat连接数据库执行脚本即可

接下来部署vue项目 找到 nginx配置文件 按照需求修改

 vi /etc/nginx/sites-enabled/default

我修改了目录和反向代理和vue404 的问题

复制vue打包好的项目到 容器内

docker cp /www/wwwroot/c.com 容器ID:/var/www/

到这里 我们的环境部署就完成了  但是启动容器的时候 我们只能启动mysql 不能启动 redis 、nginx 和我们的java应用,试了一下直接在容器内增加开机启动,没有解决 好在docker 可以把启动命令里面打包到镜像

1:先把当前项目打包成镜像

#停掉容器
docker stop 容器ID
#查看容器id
docker ps -a
#容器打包成镜像
docker commit  -m '镜像名称' 容器ID 镜像名称:1
#查看镜像
docker images

编写启动命令

#!/bin/bash
sleep 1
service redis-server start
service nginx start
nohup /usr/local/java/jdk1.8.0_321/bin/java -jar /opt/zcgl/xxx.jar &

创建Dockerfile文件

vi Dockerfile

写入内容 把需要启动的内容写入到脚本内

FROM 镜像名称:1
COPY start.sh /root/start.sh
RUN chmod +x /root/start.sh
WORKDIR /root
ENTRYPOINT /root/start.sh && tail -f /dev/null

创建镜像

docker build -t 镜像名称:2 .

启动镜像 接下来就看到我们的应用就完美运行了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/825565.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号