前后端分离SpringBoot项目,Docker部署后端Jar包

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 前后端分离SpringBoot项目,Docker部署后端Jar包 Docker制作后端项目镜像 第一步 下载Docker 使用的是CentOS7,内核低于3.0好像不行,查看内核命令 uname -r yum install docker  1 常用docker命令 启动docker:syst.

前后端分离SpringBoot项目,Docker部署后端Jar包

Docker制作后端项目镜像
第一步 下载Docker
使用的是CentOS7,内核低于3.0好像不行,查看内核命令 uname -r

yum install docker 
1
常用docker命令
启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看镜像: docker images
搜索镜像:docker search 镜像名称
下载镜像:docker pull 镜像名称
删除镜像:docker rmi
删除容器:docker rm
查看容器:docker ps
查看停止的容器:docker ps -a
查看最后一次运行的容器:docker pa -l
第二步 创建文件夹 mkdir docker
然后cd docker/
创建Dockerfile文件

# Docker image for springboot file run
# VERSION 0.0.1
# Author: pibigstar
# 基础镜像使用java
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp 
# 将jar包添加到容器中并更名为app.jar
ADD 上传jar名称.jar 更改的名称.jar                        
# 运行jar包
RUN bash -c 'touch /更改的名称.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/更改的名称.jar"]

1
2
3
4
5
6
7
8
9
10
11
12
13
14



第三步 生成Docker镜像

docker build -t 生成的镜像名称 .
1
生成的镜像名称后面两个空格一个点切记

第四步 查看镜像是否生成docker images,然后生成容器

生成守护式容器名为linsir_web端口映射9000映射到容器内端口9000

docker run -di --name=linsir_web  -p 9000:9000 镜像名称
1
这样子镜像就制作完成了,还需要依赖数据库容器

docker search mysql
docker pull mysql
1
2
下载 版本根据个人决定,8.0的mysql需要设置
8.0版本的 root的用户的加密方式为caching_sha2_passoword, 而navicat连接所用的方式为native_password。mysql为远程连接和本地连接提供了不同的密码验证方式。

select host,user,plugin,authentication_string from om mysql.user;er;
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'server';
FLUSH PRIVILEGES;     #最后刷新下权限
1
2
3
再用SQLyog或者navicat远程连接测试一下能否连接成功
记得项目内applilcation配置文件中mysql路径要配置容器内数据库服务器ip与端口
查看容器ip信息 命令
docker inspect 容器名称
容器处于运行状态才可以看到IP



运行容器打开浏览器测试一下就OK啦,后端包就部署成功了
--------------------- 
作者:LinSirC 
来源:CSDN 
版权声明:本文为博主原创文章,转载请附上博文链接!
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
336 3
|
13天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
38 3
实战~如何组织一个多容器项目docker-compose
|
1月前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
26天前
|
安全 Java API
实现跨域请求:Spring Boot后端的解决方案
本文介绍了在Spring Boot中处理跨域请求的三种方法:使用`@CrossOrigin`注解、全局配置以及自定义过滤器。每种方法都适用于不同的场景和需求,帮助开发者灵活地解决跨域问题,确保前后端交互顺畅与安全。
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
514 3
|
1月前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
2月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
42 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
2月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
178 1
|
2月前
|
Ubuntu Shell Linux
docker安装tar包安装
docker安装tar包安装
510 1
|
2月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。