Dockerfile 部署 SpringBoot 项目
  TEZNKK3IfmPf 2023年11月14日 37 0

1. 打包方式一:Maven打包

注释的掉下图 pom.XML文件内容:不然使用的是spring-boot-maven插件方式打包了

Dockerfile 部署 SpringBoot 项目

2. 跳过单元测试

 Dockerfile 部署 SpringBoot 项目

3. package 项目打包

Dockerfile 部署 SpringBoot 项目

4. 打包成功后去项目target下拷贝

Dockerfile 部署 SpringBoot 项目

5. 拷贝到桌面进行改名为压缩包格式

 Dockerfile 部署 SpringBoot 项目Dockerfile 部署 SpringBoot 项目

6. 在服务器/opt/myappdocker/目录下上传

mkdir /opt/myappdocker

拷贝dk压缩包到新创建的目录/myappdocker下 

Dockerfile 部署 SpringBoot 项目

7. 在/opt/myappdocker目录下创建文件Dockerfile

Dockerfile 名字不要改

vim Dockerfile

Dockerfile中编写以下内容保存退出

# 基于centos7镜像创建新镜像
FROM centos:7
# 镜像作者
MAINTAINER liush
# 镜像内工作目录
WORKDIR /usr
# 镜像内执行命令:新建目录
RUN mkdir /usr/local/java
# 上传本地文件到镜像中并解压缩
ADD jdk-8u77-linux-x64.tar.gz /usr/local/java/
# 声明需要暴露的端口 
EXPOSE 8080
# 配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_77
ENV PATH $JAVA_HOME/bin:$PATH
# 镜像内执行命令
RUN mkdir /usr/local/myapp
# 上传本地项目到镜像指定目录
COPY hello-0.0.1-SNAPSHOT.jar /usr/local/myapp/
# 执行命令运行jar包(也可以使用RUN)
ENTRYPOINT ["nohup" ,"java" ,"-jar" ,"/usr/local/myapp/hello-0.0.1-SNAPSHOT.jar" ,"&"]

Dockerfile命令详解

命令 作用
FROM image_name:tag 定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name 声明镜像的创建者
ENV key value 设置环境变量 (可以写多条)
RUN command 是Dockerfile的核心部分(可以写多条)
ADD source_dir/file dest_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
COPY source_dir/file dest_dir/file 和ADD相似,但是如果有压缩文件并不能解压
WORKDIR path_dir 设置工作目录

8. 执行命令构建镜像

注意后边的空格和点,不要省略

docker build -t='myappdockerimg' .

Dockerfile 部署 SpringBoot 项目

9. 查看镜像是否建立完成

docker images

Dockerfile 部署 SpringBoot 项目

10. 使用镜像运行创建容器运行访问测试

① 创建容器以守护的方式运行

docker run -d -p 18080:8080 myappdockerimg

② 查看运行的容器

docker ps

Dockerfile 部署 SpringBoot 项目

③ 浏览器访问测试

curl http://localhost:18080

Dockerfile 部署 SpringBoot 项目

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf