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