首页 > 其他分享 >【玩转Docker容器 3】基于Docker部署SpringBoot项目

【玩转Docker容器 3】基于Docker部署SpringBoot项目

时间:2022-12-24 22:12:52浏览次数:53  
标签:容器 SpringBoot app jar 复制 玩转 Docker

@TOC


推荐个人Docker文章,讲的非常详细

【玩转Docker容器 1】Dockerd的详解及安装
【玩转Docker容器 2】基于Docker一分钟搭建完 Jdk、Mysql、Nginx、Redis、Tomcat环境
【玩转Docker容器 3】基于Docker部署SpringBoot项目
【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解
【玩转Docker容器 5】基于Docker搭建Maven私服,以及项目如何使用Maven私服详解
【玩转Docker容器 6】基于Docker构建GitLab管理代码
【玩转Docker容器 7】基于Docker安装Jenkins实现自动化构建、部署、测试、监控项目

提供一个简单的项目

有的话就可以自己部署自己的项目 在这里插入图片描述 我这里提供一个简单的基于SpringBoot开发的APP后端架构项目, 就是连接了使用了Redis和mysql,使用了JWT 生成Token使用Shiro实现了登录等一些软件必须有的接口

链接:pan.baidu.com/s/1LZtHSyXY… 提取码:hsjp

我已经封装成jar包了,没有项目测试部署可以下载下来试试看,第一步操作我已经做完了

1.修改application.yml或者application.properties文件

把端口号,nysql,redis的地址及密码等 ,一些需要动态改变的地址改成类似于

# 端口号
server:
  port: ${port:8888}
复制代码

在这里插入图片描述 在这里插入图片描述 为什么要改成这样? 如果我们不改这些都是采用硬编码的方式进行编写,所以我们要让端口、URL地址采用动态改变。在部署的时候进行填写

改成这样其实本机还是可以运行的

2.打包成jar包

点击右上角,找到package 打包 在这里插入图片描述

3.上传项目到linux中

#创建文件夹 以及进入文件夹
mkdir /opt/dockerapp
cd /opt/dockerapp
复制代码

在这里插入图片描述 输入rz上传jar包至 /opt/dockerapp中

rz
复制代码

在这里插入图片描述

4. 制作Docker镜像

上传完后切记:整个过程一定要在/opt/dockerapp文件夹中操作

在此文件夹输入命令:(实现对Dockerfile文件进行编辑,添加如下所示命令。)
vi Dockerfile

在此文件中填入
FROM java:8												#指定java8环境镜像
COPY ./lijie-example-boot-2.0.jar /app-springboot.jar	#将当前目录下的jar文件拷贝到特定目录
COPY ./app-entrypoint.sh /								#再拷贝一个脚本文件
RUN chmod +x /app-entrypoint.sh							#再给这个脚本文件设置一个可执行的权限。
ENTRYPOINT ["/app-entrypoint.sh"]						#运行此文件配置容器启动后执行的命令
复制代码

在这里插入图片描述

编写pp-entrypoint.sh文件编辑,添加如下所示命令。
vi app-entrypoint.sh

在此文件输入:(注:下面诸如$PORT是在使用docker create创建容器时设置的环境变量)
重点:(这里是配置那些属性需要动态的赋值,在底下创建容器时指定)
#!/bin/bash
java -jar -Dport=$PORT -DmysqlHost=$MYSQLHOST -DmysqlPassword=$MYSQLPASSWORD -DredisHost=$REDISHOST -DredisPort=$REDISPORT -DredisPassword=$REDISPASSWORD -DuploadPath=$UPLOADPATH /app-springboot.jar
复制代码

在这里插入图片描述

在此输入构建镜像命令:(后面的:1.0  是自定义版本)
docker build -t lijie-example-boot-2.0.jar:1.0 .
复制代码

在这里插入图片描述

查看创建的镜像
docker images
复制代码

在这里插入图片描述

5.创建Docker容器

创建容器命令:(这里是动态的赋值配置文件) 根据自己实际情况来赋值,注意

创建容器命令:(这里是动态的赋值配置文件)
docker create --name app-springboot -t -p 8080:7000 -e PORT=7000 -e MYSQLHOST=120.77.0.58:3303/lijie -e MYSQLPASSWORD=123456 -e REDISHOST=120.77.0.58 -e REDISPORT=16379 -e REDISPASSWORD='' -e UPLOADPATH=/opt/java/uploadImage lijie-example-boot-2.0.jar:1.0
复制代码

在这里插入图片描述

查看所有容器
docker ps -a
复制代码

在这里插入图片描述

6.启动自己创建的Docker容器

找到我们自己的项目容器id,运行下面命令
docker start 容器id运行
复制代码

在这里插入图片描述

查看容器日志看一下,是否成功
docker logs 容器id
复制代码

在这里插入图片描述 发现已经成功启动了,端口号就是自己创建容器是定义的端口号

7.外网访问项目

1.先找到Linux的lp地址,如果知道IP地址就跳过

如果是虚拟机先关闭防火墙
systemctl stop firewalld

输入ifconfig查看IP地址
ifconfig
复制代码

在这里插入图片描述

如果是阿里云服务器,找到自己的服务器公共IP地址,并且打开开放8080端口号 具体步骤访问:阿里云服务器配置外网访问,打开8080端口 在这里插入图片描述

配置好了上面后即可访问项目,此项目只有后端 输入:(IP地址+端口号+/doc.html) 即可查看后端接口 例如 http://120.77.0.34:8080/doc.html 在这里插入图片描述

8.测试项目

此项目只能查看后端,这是给app提供的java后端项目

除了俩个登录接口(后端登录,app登录)的token是可以随便填写的,其他的接口需要使用的话,必须登录后拿去正确的token才可使用

1.下面是测试登录接口(用户名:admin 密码:123456 token随便填) 在这里插入图片描述

而其他接口的话,就需要正确的token才可访问,例如 在这里插入图片描述

来源:https://juejin.cn/post/7006343844723687437

标签:容器,SpringBoot,app,jar,复制,玩转,Docker
From: https://www.cnblogs.com/konglxblog/p/17003456.html

相关文章

  • 【玩转Docker容器 4】基于Docker搭建Docker私服,以及如何使用Docker私服详解
    @TOC推荐个人Docker文章,讲的非常详细【玩转Docker容器1】Dockerd的详解及安装【玩转Docker容器2】基于Docker一分钟搭建完Jdk、Mysql、Nginx、Redis、Tomcat环......
  • 使用Docker编译android10源码
    环境准备安装WSL2修改默认路径安装DockerDesktop,迁移docker到其他盘符,docker配置镜像加速。https://blog.csdn.net/qq_43430759/article/details/127604483dockerpu......
  • SpringBoot最全笔记,企业最核心的技术你确定不来看看?
    这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战一、SpringBoot入门1.1、SpringBoot介绍    SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化......
  • Docker镜像原理
    Docker中的镜像是由若干个文件系统叠加而成的。一个镜像可能是由多个系统组装而成的。Docker中有得镜像很大,有得镜像很小,比如tomcat镜像是500M,而tomcat的安装包只有70M,cen......
  • docker的常用命令列表
    容器生命周期管理run 创建一个新的容器并运行一个命令 语法:dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]  COMMAND:需要在容器内执行的命令start/stop/restart 启......
  • Docker和Kubernetes网络模型
    Docker网络模型Bridge模式(默认)Docker程序启动后会创建一个bridge0网桥,并分配一个IP,可以想象成一个虚拟的交换机,创建的容器实例都会通过虚拟网卡vethpair设备连接到这个......
  • PPT 玩转形状
    形状形状也可以非常复杂形状的神奇功能--合并形状编辑顶点绘制图标分割面版开放路径辅助阅读......
  • centos docker国内镜像加速设置
    sudomkdir-p/etc/docker#2.编写配置文件sudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["http://hub-mirror.c.163.com","https://docker.mirr......
  • docker高级篇第三章-dockerfile案例之制作自己的centos镜像
    在上一篇文章中​​《Dockerfile介绍及常用保留指令》​​,我们介绍了Dockerfile是什么以及Dockerfile常用的保留字段。熟悉了这些之后,有没有想自己动手写一个Dockerfile呢?本......
  • Docker+Jenkins+Gitee+Node+Vue构建dist包并通过publish over ssh传输到服务器替换重
    场景docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/12837......