目录
镜像结构
镜像是将应用程序及其所需要的系统函数库、环境、配置、依赖打包而成,以mysql为例
镜像是分层结构,每一层称为一个Layer
BaseImage层:包含基本的系统函数库、环境变量、文件系统
Enterpoint:入口,是镜像中应用启动的命令
其他:在BaseImage基础上添加依赖、安装程序、完成整个应用的安装和配置
Dockerfile语法
就是一个文本文件,其中包含一个一个的指令,用指令来说明要执行什么操作来构建镜像,每一个指令都会形成一个Layer。
构建Java项目
1、构建一个空文件夹docker-dome
2、拷贝docker-dome.jar文件到docker-dome这个目录
3、拷贝jdk8.tar.gz文件到第一步构建的文件目录
4、拷贝Dockerfile到第一步构建的文件目录
5、进入第一步构建的文件目录
6、运行
docker build -t javaweb:1.0
案例
因为之前的话,每一个dockerfile都要配置环境,比较麻烦
实现步骤
1、新建一个目录,新建一个名为Dockerfile的文件
2、拷贝docker-dome.jar到这个目录中
3、编写Dockerfile文件
基于java:8-alpien作为基础镜像
将app.jar拷贝到镜像中
暴露端口
编写入口Entrypoint
4、使用docker build命令构建镜像
5、使用docker run命令创建容器并运行
总结
1、Dockerfile本质是一个文件,通过指令描述镜像的构建过程
2、Dockerfile的第一行必须是FROM,从一个基础镜像来构建
3、基础镜像可以是一个基本操作系统,如Ubuntu,也可以是其他人制作好的镜像,例如:java:8-alpine