背景
在云服务的时代下要是不会docker就像不懂数据库的程序员一样。
案例
从最基本的案例了解docker构建镜像的过程。
假设你有一个简单的项目并且已经打包成A.jar了,使用java -jar xxx可以直接运行了。
现在只需要简单几步就可以生成一个A.jar的docker镜像
步骤
1.创建文件Dockerfile(没错,这个文件的名字就是Dockerfile,不需要任何后缀名)
2.编写Dockerfile的内容
# 引用基础镜像,也就是从hub.docker.com官方镜像站点找一个能满足你A.jar运行环境的系统镜像
FROM openjdk:8-jdk-alpine
# 设置作者信息
MAINTAINER chzh
# 挂载宿主机的目录,也就是把本机哪个目录给后面以这个镜像启动的容器使用
VOLUME /tmp
# 将宿主机的本地文件引入到镜像,把宿主机的文件copy到后面以这个镜像启动的容器
ADD /home/java/slf-stage-server.jar /app.jar
# 暴露镜像的8080端口,也就是你A.jar使用的端口
EXPOSE 8080
# 添加命令格式和参数由构建好的容器执行,将java -jar /app.jar以空格分隔当做参数给后面以这个镜像启动的容器执行
ENTRYPOINT ["java", "-jar", "/app.jar"]
3.编译Dockerfile生成镜像image
# 注意这条命令最后有一个 . 表示在当前目录查找Dockerfile并翻译执行
docker bulid -t A:v1 .
4.查看生成的镜像image并执行生成应用程序容器