素材巴巴 > 程序开发 >

在docker上部署springboot项目

程序开发 2023-09-03 22:04:54

准备向先看dockerfile的,看了一下,有点晦涩难懂,所以准备先将写一个可以部署到docker的springboot项目,这样慢慢理解才能更加容易。

一.项目准备

1.maven依赖


 4.0.0com.xichuan.devspringboot-docker0.0.1-SNAPSHOTspringboot-dockerDemo project for Spring BootUTF-8UTF-81.8springboot-dockerorg.springframework.bootspring-boot-starter-parent1.4.4.RELEASEorg.springframework.cloudspring-cloud-dependenciesCamden.SR5pomimportorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-maven-plugincom.spotifydocker-maven-plugin1.0.0${docker.image.prefix}/${project.artifactId}src/main/docker/${project.build.directory}${project.build.finalName}.jar
 
 

注意的是,此文件有两处docker的配置

1.在properties中添加镜像名称

springboot-docker
 

2.在plugins中添加docker插件


 com.spotifydocker-maven-plugin1.0.0${docker.image.prefix}/${project.artifactId}src/main/docker/${project.build.directory}${project.build.finalName}.jar
 

2.启动文件

import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
 public class SpringbootDockerApplication {public static void main(String[] args) {SpringApplication.run(SpringbootDockerApplication.class, args);}@RestControllerpublic class DockerController {@RequestMapping("/")public String index() {return "Hello Docker!";}}
 }

3.application.yml配置文件

server:port: 8005

项目运行后输入:http://localhost:8050/  会看到下面文字

二.在linux中操作docker

在linux中创建一个文件:Dockerfile ,并价格springboot项目的jar包与此文件放到同一个问价夹中。

1.添加下面文字到dockerfile中:

# 指定基础镜像
 FROM java:8
 # 维护者信息
 MAINTAINER xichuan
 # 定义匿名卷
 VOLUME /tmp
 #复制文件或修改名称
 ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
 # 允许指定的端口
 EXPOSE 8005
 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
 


2.使用的Dockerfile命令基本介绍:

3.生成docker image

在Dockerfile目录下,运行下面命令:

#根据Dockerfile生成镜像
 docker build -t springboot-docker .

可以看到docker是根据Dockerfile中的每一行顺序执行指令的

4.通过docker imgaes查看所有的镜像:

docker images

5.在docker上运行springboot项目

docker run -p 8080:8005 -d springboot-docker

-p表示端口映射,冒号左边为docker容器外的端口号,右边为容器内的端口号,-d表示后台运行 docker表示REPOSITORY的值

在浏览器上输入:http://ip:8080/,就可以看到了

6.此搭建过程命令总结,以及其他要用到的命令

#根据Dockerfile生成镜像
 docker build -t springboot-docker .#查看所有镜像
 docker images#删除镜像,删除镜像的时候,必须现先将镜像所有的container删除
 docker rmi  docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af30#在docker运行项目
 docker run -p 8080:8005 -d springboot-docker#查看哪些容器正在运行
 docker ps#查看所有容器,包括已经停止的容器  
 docker ps -a #启动、停止、启动容器
 docker start container_name/container_id
 docker stop container_name/container_id
 docker restart container_name/container_id#启动后,想进入容器,可以进入容器查看日志
 docker attach container_name/container_id#删除容器
 docker rm container_name/container_id

更多命令详情,可以查看之前写的博客:docker基础知识总结_兮川的博客-CSDN博客_docker基础知识

想要使用此镜像的同鞋可以使用下面命令拉去获取镜像

docker pull xichuan/springboot-docker:first

参考链接:

在docker上部署springboot项目_菜到怀疑人生的博客-CSDN博客

Spring Boot 2 (四):使用 Docker 部署 Spring Boot - 纯洁的微笑博客

 github上有我更多的笔记:Raray-chuan (兮川) · GitHub,欢迎stars与following,如果有问题可以在issue中向我咨询

关注我的公众号,获取更多关于后端、大数据的知识


标签:

上一篇: node学习第一天笔记 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。