Docker部署springboot项目

一.将springboot项目打包成jar包
    通过cmd命令进入项目所在目录(及pom.xml文件所在)执行命令:mvn package。若无报错则在target目录下生成项目的可执行jar包(例如为:demo-0.0.1-SNAPSHOT.jar),生成的jar包可在target目录下,通过 java -jar执行。

二.创建镜像
  1.创建Dockerfile(无后缀名) 配置如下:
 # 指定一个基础镜像centos
FROM docker.io/centos:latest
 
#安装应用执行的环境java
RUN yum -y install java
 
#将指定的jar文件复制到容器中
COPY demo-0.0.1-SNAPSHOT.jar /usr/local/

#容器对外开放端口
EXPOSE 8080 

#执行jar文件
ENTRYPOINT ["java" ,"-jar","/usr/local/demo-0.0.1-SNAPSHOT.jar"]
解释: 
FROM ;使用的底层镜像 
RUN :指令告诉docker 在镜像内执行命令,安装了什么。。。 
EXPOSE :指令用来告诉Docker这个容器在运行时会监听哪些端口,也就是这些端口与本机绑定 

“-Djava.security.egd=file:/dev/./urandom” 防止一个容器内启动多个实例 安全问题 

在Dockerfile目录下将项目打包好的jar包上传到这个目录下

2.创建镜像 命令如下:
 docker build -t hero/test:dev  .
解释: 
. :表示Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径 
-t :指定镜像名 
名字后面的”: “:代表tag,也就是1.0

3 查看镜像
docker images

三.启动容器
1.使用镜像创建容器

docker指令:docker run -p ip:hostPort:containerPort redis
使用-p参数会分配宿主机的端口映射到虚拟机。 
IP表示主机的IP地址。 
hostPort表示宿主机的端口。 
containerPort表示虚拟机的端口。

docker run -d -p 8080:8080 hero/test:dev

2.查看运行的容器
docker ps

四.测试

  在浏览器输入外网ip:8080/即可访问项目接口




猜你喜欢

转载自blog.csdn.net/qq_40693828/article/details/79785084