学习|Docker部署SpringBoot


参考教程

Docker(七):使用 Docker 部署 Spring Boot
Docker部署Springboot项目 实战 - 掘金


Docker部署SprigBoot项目

1. mvn package 打包

当我在IDEA中运行命令时,出现找不到mvn指令,以下是解决方案

1.打开终端,执行vim命令,编辑文件

vim ~/.bash_profile
2.添加记录(maven版本及目录根据自身情况填写)

export M3_HOME=/usr/local/maven/apache-maven-3.9.0 export PATH=$M3_HOME/bin:$PATH
3.加载配置

source ~/.bash_profile
一般在此步骤执行后,在终端中执行mvn -v就可正常输出版本信息,但是切换到IDEA中执行mvn -v时确还是zsh: command not found: mvn,此时在IDEA中先执行source ~/.bash_profile,然后再执行mvn -v就可正常输出版本信息.


2.编写Dockerfile

FROM openjdk11
COPY *.jar /app.jar

CMD ["--server.port=8080"]  #指定服务器端口

EXPOSE 8080

ENTRYPOINT ["java","-jar","/app.jar"]

这段命令是一个 Dockerfile 文件,用于构建一个基于 OpenJDK 11 的 Docker 镜像,该镜像包含一个 Java 应用程序的可执行 JAR 文件。

  • FROM openjdk:11:指定基础镜像为 OpenJDK 11。
  • COPY *.jar /app.jar:将当前目录下的所有 JAR 文件拷贝到镜像中,并将其中一个命名为 app.jar。
  • CMD ["--server.port=8080"]:设置容器启动时的默认命令参数,这里是设置应用程序的端口号为 8080。
  • EXPOSE 8080:声明容器将会监听的端口号,这里是 8080。
  • ENTRYPOINT ["java","-jar","/app.jar"]:设置容器启动时的默认命令,这里是运行 Java 应用程序的可执行 JAR 文件。

3. 在本地构建镜像

把Dockerfile文件和jar包放在同一目录下

docker build -t blog . # .指的是当前目录,即Dockerfile所在目录

运行完即可在docker软件中看到本地镜像,可以直接运行或者将其push到阿里云镜像仓库

注意:Dockerfile文件中FROM openjdk:11 需要从hub拉基础镜像,所以需要换国内镜像源,这里使用阿里云镜像加速器,在docker软件中打开设置 docker engine

4. 运行镜像

docker run -d -p 8080:8080 --name blog blog

5. 将镜像上传到阿里云镜像仓库

参考官网操作

#登录镜像服务器仓库
docker login --username=aliyun1365526974 registry.cn-wulanchabu.aliyuncs.com
#先打tag
docker tag 987a29ddd1c1 registry.cn-wulanchabu.aliyuncs.com/xjtu-blog/blog-view:v1
#push镜像
docker push registry.cn-wulanchabu.aliyuncs.com/xjtu-blog/blog-view:v1

6. 在服务器中pull镜像仓库的镜像

docker pull registry.cn-wulanchabu.aliyuncs.com/xjtu-blog/blog-view:v1

文章作者: Wei Hu
文章链接: https://heyhw.cn
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Wei Hu !
  目录