Docker Review - Docker 部署 Spring Boot 项目

简介: Docker Review - Docker 部署 Spring Boot 项目

image.png

Pre


4738da601fd1457fa9027d32b1150729.png


随手搞个spring boot的演示项目 ,确保能访问


fdba2fcaffb446ab8c2ec4f585d0fecf.png

编辑Dockerfile


0f47de6f1a00445d83add5a5a12c009f.png


[root@VM-0-7-centos ~]# cat bootDockerfile
FROM java:8
COPY  *.jar /helloboot-0.0.1-SNAPSHOT.jar
CMD ["--server.port=6666"]
EXPOSE 6666
ENTRYPOINT ["java","-jar","/helloboot-0.0.1-SNAPSHOT.jar"]
[root@VM-0-7-centos ~]#


Dockerfile 构建镜像

[root@VM-0-7-centos ~]# docker build -f bootDockerfile  -t bootdemo .
Sending build context to Docker daemon  723.6MB
Step 1/5 : FROM java:8
 ---> d23bdf5b1b1b
Step 2/5 : COPY  *.jar /helloboot-0.0.1-SNAPSHOT.jar
 ---> 015febc1454b
Step 3/5 : CMD ["--server.port=6666"]
 ---> Running in f705ab3f5f02
Removing intermediate container f705ab3f5f02
 ---> f608f250f0db
Step 4/5 : EXPOSE 6666
 ---> Running in c1db7f8a530a
Removing intermediate container c1db7f8a530a
 ---> de2f50692242
Step 5/5 : ENTRYPOINT ["java","-jar","/helloboot-0.0.1-SNAPSHOT.jar"]
 ---> Running in f6fc8d988e21
Removing intermediate container f6fc8d988e21
 ---> 3f0c42435a0c
Successfully built 3f0c42435a0c
Successfully tagged bootdemo:latest


运行镜像

[root@VM-0-7-centos ~]# docker images  | grep bootdemo
bootdemo              latest    3f0c42435a0c   54 seconds ago   672MB
[root@VM-0-7-centos ~]#


[root@VM-0-7-centos ~]# docker run -d -p 7777:6666 --name artisanBoot bootdemo
0d4d248db761a6a78234fc20d303e52fa96d3dc7d0292af871f34fcc310e30c4
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                                                                                  NAMES
0d4d248db761   bootdemo              "java -jar /helloboo…"   6 seconds ago   Up 5 seconds   0.0.0.0:7777->6666/tcp, :::7777->6666/tcp                                              artisanBoot
3eab753d9573   portainer/portainer   "/portainer"             11 days ago     Up 11 days     0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#
[root@VM-0-7-centos ~]#

测试


2f88c14fa63a4f9d8c07fd37a2710515.png


相关文章
|
6天前
|
XML Java 应用服务中间件
SpringBoot-打包&部署
SpringBoot 项目支持两种打包方式:WAR 包和 JAR 包。JAR 包内置 Tomcat,可直接运行;WAR 包需部署在外部 Tomcat 上。JAR 包通过 `mvn clean package` 打包并用 `java -jar` 运行,支持后台运行和 JVM 参数配置。WAR 包需修改 pom.xml 为 war 类型,移除嵌入式 Tomcat 依赖,添加 servlet-api,并继承 `SpringBootServletInitializer`。配置文件可通过外部 application.yml 覆盖,默认优先级高于 JAR 内部配置。
45 17
SpringBoot-打包&部署
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
148 91
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
28天前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
129 64
SpringBoot项目打war包流程
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
8天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
37 7
|
24天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
23天前
|
自然语言处理 IDE Java
SpringBoot start.aliyun.com创建项目,解决properties乱码的问题
通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。
36 5
|
25天前
|
JavaScript 搜索推荐 Java
基于SpringBoot+Vue实现的家乡特色推荐系统设计与实现(源码+文档+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
56 8