SpringBoot 部署 docker 打包镜像
环境:
1、代码编写工具:IDEA
2、打包:maven
3、docker
4、linux
7、JDK1.8
8、Xshell
9、Xftp
第一步:使用idea创建简单的springboot项目
引用一篇别人文章:
第二步:设置项目生成jar包(两种方式)
1、修改pom文件
4.0.0 com.example ordinary 0.0.1-SNAPSHOT jar ordinary Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 2.0.6.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
2、或者在生成项目的时候 可以选择jar和war
第三步:使用maven 生成包 (使用idea不用命令 直接界面操作就可以(如果Maven设置没问题 直接就可以生成 包 log会提示生成后的文件目录))
第四步:docker概念
1、docker:最早是dotCloud公司出品的一套容器管理工具,但后来Docker慢慢火起来了,连公司名字都从dotCloud改成Docker。
2、dockerfile:它是Docker镜像的描述文件,可以理解成火箭发射的A、B、C、D……的步骤。
3、docker镜像:通过Dockerfile做出来的,包含操作系统基础文件和软件运行环境,它使用分层的存储方式。
4、docker容器:是运行起来的镜像,简单理解,Docker镜像相当于程序,容器相当于进程。
第四步:dockerfile指令
Dockerfile由多条指令组成,每条指令在编译镜像时执行相应的程序完成某些功能,由指令+参数组成,以逗号分隔,#作为注释起始符,虽说指令不区分大小写,但是一般指令使用大些,参数使用小写
第五步:dockerfile文件例子(我只是简单将springboot项目生成docker镜像没有什么多余配置)
TODO:有一点需要注意的地方就是dockerfile文件没有任何后缀
# Pull base image FROM java:8 MAINTAINER yihj "yihj@yinghaikeji.com" VOLUME /tmp # 添加 ADD ordinary.jar app.jarRUN bash -c 'touch /app.jar' # Define default command. ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]#设置时区RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
第六步:将dockerfile文件和生成好的jar 使用ftp工具上传到linux服务器 随便找个文件夹 放进去 jar和dockerfile在同级目录下
第七步:使用 docker build -t ordinary:v1.0 .
TODO:
1、 最后面的这个 . 代表在当前目录下面寻找 dockerfile 文件
2、ordinary 镜像名字
3、v1.0版本
第八步:查看镜像及启动
1、使用docker images 来查看生成的镜像
2、使用docker create 来创建容器 docker run 来创建并且运行容器
3、也可以使用docker logs 容器名 --tail 100 -f 来查看项目启动日志 看项目是否启动
3、如果上面步骤一切正常 可以直接调用IP加端口来访问项目