镜像结构
镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。
镜像是分层机构,每一层都是一个layer
BaseImage层:包含基本的系统函数库、环境变量、文件系统
EntryPoint:入口,是镜像中应用启动的命令
其他:在BaseImage基础上添加依赖、安装程序、完成整个应用的安装和配置。
Dockerfile是一个文本文件,其中包含一个个指令Instruction,指令说明要执行什么操作。每一个指令会形成一层Layer。
其他命令参考网址:https://docs.docker.com/engine/reference/builder
案例:基于ubuntu镜像构建一个新镜像,运行一个java项目
构建镜像命令:
docker build -t userservice:1.0 .
. 表示Dockerfile文件所在目录
创建并启动容器命令:
docker run --name user-service -p 18080:8080 -d userservice:1.0
将springboot项目的配置文件写入到启动命令中:
把jar包文件和配置文件都挂载到宿主机目录便于修改:
docker run --name springbootdemo -p 18085:8085 -v /home/project/config/application.yml:/application.yml -v /home/project/spring-boot-demo.jar:/tmp/springbootdemo.jar -d sprinbootdemo:1.0