参考教程
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