准备
新建一个Spring-boot项目,写好测试接口,打包。
开始生成镜像
进入虚拟机。此处已安装Docker。新建目录,并把jar包上传过去。然后新建Dockerfile文件。
文件内容如下:
# 引用需要的环境
From openjdk:8
# 设置目录
VOLUME /usr/local/image-test
# 设置基础信息
MAINTAINER fishbone LABEL name="dockerfile-demo" version="1.0" author="fishbone"
# jar包拷贝到容器中
COPY docker-image-test-0.0.1-SNAPSHOT.jar docker-image-test.jar
# 运行的命令
CMD ["java","-jar","docker-image-test.jar"]
构建Image
docker build -t [imageId] [path]
例如: docker build -t image-test01 ./
已承购构建
运行成功
验证结果
Dockerfile 文件说明
FROM 指定基础镜像
比如 FROM ubuntu:14.04
RUN
在镜像内部执行一些命令,比如安装软件,配置环境等
LABEL
设置镜像标签
VOLUME
指定数据的挂在目录
COPY
将主机的文件复制到镜像内,如果目录不存在,会自动创建所需要的目录,注意只是复制,不会提取和 解压
ADD
将主机的文件复制到镜像内,和COPY类似,只是ADD会对压缩文件提取和解压
CMD
容器启动的时候默认会执行的命令,若有多个CMD命令,则最后一个生效
ENTRYPOINT
和CMD的使用类似
docker run 执行时,会覆盖CMD的命令,而ENTRYPOINT不会
上传镜像到仓库
使用阿里云仓库,申请仓库后按照提示。登录,绑定,上传即可。