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 .

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Spring Boot应用程序打包Docker镜像,你可以按照以下步骤进行操作: 1. 创建一个Dockerfile:Dockerfile是一个文本文件,用于定义如何构建Docker镜像。在Dockerfile中,你需要指定基础镜像、复制应用程序文件、设置工作目录和运行应用程序的命令。你可以参考引用中提到的Dockerfile示例。 2. 构建Docker镜像:使用Docker命令来构建镜像。在命令行中,进入到Dockerfile所在的目录,并执行以下命令: ``` docker build -t <image-name> . ``` 其中,`<image-name>`是你要为镜像指定的名称。 3. 运行Docker容器:构建完镜像后,你可以使用以下命令来运行Docker容器: ``` docker run -d -p <host-port>:<container-port> <image-name> ``` 其中,`<host-port>`是你要映射的主机端口,`<container-port>`是容器内部应用程序所监听的端口,`<image-name>`是之前构建的镜像名称。 通过以上步骤,你就可以将Spring Boot应用程序成功打包Docker镜像,并在Docker容器中运行了。你可以参考引用和中提供的参考链接,了解更多关于将Spring Boot应用程序打包Docker镜像的详细步骤和配置信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker打包springboot工程镜像](https://blog.csdn.net/ITwangnengjie/article/details/109750524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [应用的容器化-docker打包spring boot镜像](https://blog.csdn.net/inthat/article/details/83049309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值