Docker的基础镜像&父镜像 是什么、都有哪些镜像、如何选择父镜像?

14 篇文章 1 订阅
1 篇文章 0 订阅


概念

父镜像 (parent image)
镜像的父镜像是在镜像的 Dockerfile 中的 FROM 指令中指定的镜像。所有后续命令都基于此父镜像。带有 FROM scratch 指令的 Dockerfile 不使用父镜像,并创建基本镜像。

An image’s parent image is the image designated in the FROM directive in the image’s Dockerfile. All subsequent commands are based on this parent image. A Dockerfile with the FROM scratch directive uses no parent image, and creates a base image.
—— docker官方词汇表-parent-image

基础镜像 (base image)
基础镜像的 Dockerfile 中未指定父镜像。它是使用带有 FROM scratch 指令的 Dockerfile 创建的。

A base image has no parent image specified in its Dockerfile. It is created using a Dockerfile with the FROM scratch directive.
—— docker官方词汇表-base-image

————

当使用Dockerfile定制镜像时,通常用FROM指令指定一个现有的镜像作为父镜像,如FROM centos:7
大部分的镜像都有一个父镜像,这使定制镜像变得简单。比如nginx容器使用debian作为父镜像,tomcat容器使用jdk作为父镜像。

除了选择现有镜像为父镜像外,还存在一个特殊的镜像,名为 scratch,它表示一个空白的镜。
FROM scratch表示从零开始构建一个镜像,那么这个Dockerfile构建出的镜像被称为基础镜像
大部分的操作系统镜像都是基础镜像,如centosoracle-linuxdebian

镜像分类

Docker Hub 上有非常多的高质量的官方镜像(docker团队制作的)。

应用镜像,如 nginxredismongomysqlhttpdtomcat 等;

有方便运行各种语言代码的编程语言镜像,如 nodeoraclejdkopenjdkpythonrubygolang 等。

还有更为基础的操作系统镜像,如 ubuntudebiancentosfedoraalpine 等。

如何选择父镜像

在 Docker Hub 中寻找一个最符合我们最终目标的镜像为基础镜像进行定制,比如要运行一个java程序(jar包),适合用jdk镜像或tomcat镜像作为父镜像,而非使用centos等操作系统镜像。

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值