自定义镜像
一、镜像结构
镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。
镜像是分层结构,每一层称为一个Layer:
入口(Entrypoint): 镜像运行入口,一般是程序启动的脚本和参数
层( Layer):在BaseImage基础上添加安装包、依赖、配置等,每次操作都形成新的一层。
基础镜像(BaseImage):应用依赖的系统函数库、环境、配置、文件等
二、Dockfile
Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer。
官网文档: https://docs.docker.com/engine/reference/builder
当构建java项目镜像时,从安装jdk到配置环境变量等也都是构建其它java项目镜像时必须执行的。因此可以将这些公有的部分抽取为镜像,需要构建java镜像时就直接从共有部分构成的镜像构建如使用FROM命令 FROM java:8-alpine 镜像构建java项目镜像。
Dockerfile的本质是一个文件,通过指令描述镜像的构建过程
Dockerfile的第一行必须是FROM,从一个基础镜像来构建
基础镜像可以是基本操作系统,如Ubuntu。也可以是其他人制作好的镜像,例如:java:8-alpine
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人