当前位置: 首页 > wzjs >正文

网站做境外第三方支付百度风云排行榜

网站做境外第三方支付,百度风云排行榜,淄博网站制作首选专家,做微商网站制作需求:将Spring Boot项目使用容器化进行部署 前提 默认其他环境,如mysql,redis等已经通过docker部署完毕, 这里只讨论,如何制作springboot项目的镜像 要将Spring Boot项目使用docker容器进行部署,就需要将Spring Boot项目构建成一个docker镜像 一、手动…

需求:将Spring Boot项目使用容器化进行部署

  • 前提 默认其他环境,如mysql,redis等已经通过docker部署完毕, 这里只讨论,如何制作springboot项目的镜像

要将Spring Boot项目使用docker容器进行部署,就需要将Spring Boot项目构建成一个docker镜像

一、手动 dockerfile构建镜像

有一个更基础的入门教程,见通过dockerfile构建jdk17的环境🔗教程链接,这次也以这个jdk17的环境为基础

1、 项目打包

1.、打包一个我们自己写的springboot项目为可执行的jar
需要在pom.xml中引入插件

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.0.5</version> <!-- 使用与你的 Spring Boot 版本匹配的版本 --><executions><execution><goals><goal>repackage</goal>
<!--              repackage 目标会把普通的 JAR 转换为可执行的 Spring Boot JAR。--></goals></execution></executions></plugin></plugins>
</build>

2、 点击install会在target目录生成可执行jar
在这里插入图片描述
在这里插入图片描述
先在本地跑一试试, 记得把idea中项目停掉,否则会占用端口, 我这个项目设置的端口为8080, 进到springboot-demo-1.0-SNAPSHOT.jar 所在目录
执行

java -jar springboot-demo-1.0-SNAPSHOT.jar 

在这里插入图片描述
在这里插入图片描述

3、没啥问题上传jar包到linux服务器上
在这里插入图片描述

2、 dockerfile文件

jar包同级目录下创建dockerfile文件的内容如下所示:
在这里插入图片描述

#这个mycentos-jdk17是基础入门中,自己制作的镜像, 我们要依赖此镜像
FROM mycentos-jdk17
#作者
MAINTAINER cgj# 声明容器内主进程所对应的端口, 端口映射的时候要用 -p  宿主机端口:容器内端口 ,expose设置的就是容器内端口
EXPOSE 8080# 文件添加进来,  add 源 目的
#复制文件到容器linux的根目录
ADD springboot-demo-1.0-SNAPSHOT.jar /springboot-demo-1.0-SNAPSHOT.jar# 相当于windows中的cd命令
WORKDIR /      
#容器一启动, boot项目就运行起来了
ENTRYPOINT ["java" , "-jar" , "springboot-demo-1.0-SNAPSHOT.jar"]

在这里插入图片描述

3、构建镜像

当前目录命令如下所示:

docker build -t myfirstboot:v1 .

myfirstboot 为容器名:版本号 (可不写)
在这里插入图片描述
用docker images命令可以查看镜像
在这里插入图片描述

4、创建容器

命令如下所示:

docker run -d --name boot -p 8080:8080 myfirstboot:v1

在这里插入图片描述
在这里插入图片描述

访问测试: http://你linux的ip:映射的端口
如果你用的是云服务器,记得防火墙放开对应的端口.
在这里插入图片描述
停掉容器
docker stop 容器名

docker stop boot

二、自动 Maven的docker插件

刚才的构建过程是手动镜像构建的过程。使用Maven的docker插件可以实现镜像的自动化部署。

步骤:

1、在pom.xml文件中添加Maven的docker插件

2、开启docker服务端的远程访问

3、在工程的根目录下创建dockerfile文件

4、使用maven的打包命令进行打包

5、创建容器并访问

实操:

1、在pom.xml文件中添加Maven的docker插件

            <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><!--将插件绑定在某个phase执行--><executions><execution><id>build-image</id><!--将插件绑定在package这个phase(阶段)上。也就是说,用户只需执行mvn package,就会自动执行mvn docker:build--><phase>package</phase><goals><goal>build</goal></goals></execution></executions><configuration><!--指定生成的镜像名--><imageName>${project.artifactId}</imageName><!--指定标签,也就是版本号,可以自定义--><imageTags><imageTag>v2.0</imageTag></imageTags><!--指定远程 docker api地址 也就是服务器ip+docker的端口号--><dockerHost>http://yourip:2375</dockerHost><!-- 指定 dockerfile 路径--><dockerDirectory>${project.basedir}</dockerDirectory><!-- 是否跳过docker构建 --><skipDockerBuild>false</skipDockerBuild></configuration></plugin>

2、docker服务端开启远程访问

#修改该文件
vim /lib/systemd/system/docker.service#找到ExecStart行,修改成如下内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock
systemctl daemon-reload				#重启守护进程
systemctl restart docker			#重启docker
  • 安全问题: 如果你没有公网ip,此步骤可以跳过
    2375:这是 Docker 守护进程(dockerd)默认监听的端口,用于提供 HTTP 明文通信 的远程管理接口。如果你将 Docker 的 2375 端口暴露在公网,风险极大,因为任何人都可以不需要身份验证地远程控制你的 Docker 容器(包括运行恶意镜像、提权、访问主机文件系统等)。如果要启用远程 API,建议:
  1. 使用 2376 + TLS 认证;
  2. 或者通过 SSH 隧道代理访问;
  3. 或者限制 IP 白名单;
  4. 更推荐使用 Docker Socket Proxy 结合认证和限权机制
    我这里采用的是白名单, 也就是此端口只对对应的ip开放,
    docker中配置,另外我在腾讯云的策略组中也进行了限制

在这里插入图片描述

3、编写dockerfile文件

  • 该文件的位置必须是和pom.xml处于同一个目录
FROM mycentos-jdk17
MAINTAINER cgj
EXPOSE 8080
ADD target/springboot-demo-1.0-SNAPSHOT.jar /springboot-demo-1.0-SNAPSHOT.jarWORKDIR /
ENTRYPOINT ["java" , "-jar" , "springboot-demo-1.0-SNAPSHOT.jar"]

4.制作并查看镜像

先clean, 然后直接使用install即可
在这里插入图片描述

在这里插入图片描述
✅ 两个镜像标签的解释:

你构建的镜像被打了 两个标签(tags):
1. springboot-demo:latest
• 这是默认标签。
• 如果你没有显式指定 tag,Docker 会自动加上 latest。
2. springboot-demo:v2.0
• 这是你在构建脚本、配置文件或命令中明确指定的版本号标签。
• 比如 Maven 插件配置了

<tag>v2.0</tag>

🧱 Docker 标签不是副本,而是“指针”

Docker 镜像的 tag 其实是 指向镜像 ID(68ac058f9d16)的名字别名,所以这两个 tag 其实指向的是同一个镜像:
可以删除一个 tag,不影响另一个。

docker rmi springboot-demo:latest

5、创建容器并进行访问

docker run -d --name  bootv2 -p 8080:8080 springboot-demo:v2.0

运行和手动一样,都是成功这里不在演示

http://www.dtcms.com/wzjs/159173.html

相关文章:

  • 针对人群不同,网站做细分营销网站大全
  • 网页制作怎么做多个网站百度视频免费下载
  • 东莞市传送机技术支持 网站建设seo是怎么优化的
  • 租车行网站模版sem是指什么
  • 中国建设教育网站今日国内新闻最新消息大事
  • 小型网站建设方案google关键词seo
  • 郑州集团网站建设百度网站下载
  • 成都网络营销公司哪个好惠州短视频seo
  • 泉州公司做网站电子商务seo实训总结
  • wordpress留言板自定义桔子seo网
  • 专业制作彩铃网站注册网站需要多少钱?
  • 做app模板网站有免费做网站的吗
  • 美容医疗手机网站模板阿里云云服务平台
  • 宝安区在深圳排第几seo 排名 优化
  • 国外网站模版技能培训
  • 企业网站怎么做百度市场调研表模板
  • 张家港专业的网站制作公司首码项目推广平台
  • 设计一个网站策划书怎么把网站排名到百度前三名
  • 个性化网站建设seo专业培训机构
  • 100个最全的免费网站在哪个网站可以免费做广告
  • 网站建设推广软文有哪些发布平台
  • 网站稳定期的推广长春seo排名扣费
  • 1个人做几个网站的负责人seo外链发布平台有哪些
  • 免费下载模板的网站b站官方推广
  • 济南12345官网搜索引擎seo如何赚钱
  • 做网站该读啥北京网站推广排名
  • 昆明做网站优化互联网优化是什么意思
  • 武汉网络营销公司哪家好无线网络优化是做什么的
  • 陶艺品网站模板seo自然排名关键词来源的优缺点
  • wordpress文章自动标签seo项目优化案例分析文档