boot Docker

  • a 打包->传到服务器->java -jar运行
  • 而且服务器还得先配置好java运行环境

  • 使用docker部署项目,只需要在项目中编写一个Dockerfile文件

  • 在项目中创建一个Dockerfile文件

Dockerfile编写

  • 第一步jar包运行需要一个运行环境 FROM openjdk:8-jdk-slim 第二步写上作者 LABEL maintainer=osvue

第三步复制jar包

  • 在docker中运行容器,本身是运行了小的linux系统。要运行这个jar包,linux中就得有这个jar包,使用copy命令把jar包复制到一个自定义路径下

  • 我的Dockerfile文件放到了项目根路径下,跟target目录平级

  • COPY target/*.jar /main.jar

  • target目录下也就一个jar包,直接写*.jar,把jar包复制到了小linux中根路径下,名称为main.jar

  • 第四步启动命令 上面复制完之后名称为main.jar,所以这里启动命令也是启动mian.jar

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

FROM openjdk:8-jdk-slim
LABEL maintainer=osvue
 
COPY target/*.jar /main.jar
 
ENTRYPOINT ["java","-jar","/main.jar"]
 
  • 把target文件夹和Dockerfile文件上传到安装好docker的服务器,在服务器上使用docker构建镜像
  • docker build -t java-test:v1.0 -f Dockerfile .
  • -t 后面是镜像名称和版本号

  • -f 是使用哪个Dockerfile文件,当前目录就有Dockerfile文件,所以这个参数也可以省略不写

命令最后有一个点 (.) ,这个点表示在当前目录下工作(就是COPY命令在复制的时候以当前目录为基准,把当前目录下target文件夹中的所有jar包复制到容器的小Linux下)

  • docker images查看镜像是否存在
  • 查看运行日志

docker logs 容器ID

docker build

docker build命令用于从Dockerfile构建镜像。

  • docker build -t ImageName:TagName dir

选项

  • -t 给镜像加一个Tag
  • ImageName 给镜像起的名称
  • TagName 给镜像的Tag名
  • Dir Dockerfile所在目录

例子

  • docker build -t abcddd-redis:v1.1 .
abcddd-redis 是镜像名
v1.1 是 tag 标签
. 表示当前目录,即Dockerfile所在目录 

TIP

  • 当使用Dockerfile构建镜像时,所在的目录一定要使用一个干净的目录(最好新建一个),以免目录下有其他文件(构建会加载当前目录下所有文件,导致磁盘爆满)。