最小的镜像 - 每天5分钟玩转容器技术(9)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。本章内容安排如下:首先通过研究几个典型的镜像,分析镜像的内部结构。然后学习如何构建自己的镜像。最后介绍怎样管理和分发镜像。

镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。

本章内容安排如下:

  1. 首先通过研究几个典型的镜像,分析镜像的内部结构。

  2. 然后学习如何构建自己的镜像。

  3. 最后介绍怎样管理和分发镜像。

镜像的内部结构

为什么我们要讨论镜像的内部结构?

如果只是使用镜像,当然不需要了解,直接通过 docker 命令下载和运行就可以了。

但如果我们想创建自己的镜像,或者想理解 Docker 为什么是轻量级的,就非常有必要学习这部分知识了。

我们从一个最小的镜像开始吧。

hello-world - 最小的镜像

hello-world 是 Docker 官方提供的一个镜像,通常用来验证 Docker 是否安装成功。

我们先通过 docker pull 从 Docker Hub 下载它。


用 docker images 命令查看镜像的信息。

hello-world 镜像竟然还不到 2KB!

通过 docker run 运行。

50.png

其实我们更关心 hello-world 镜像包含哪些内容。

Dockerfile 是镜像的描述文件,定义了如何构建 Docker 镜像。Dockerfile 的语法简洁且可读性强,后面我们会专门讨论如何编写 Dockerfile。

hello-world 的 Dockerfile 内容如下:

只有短短三条指令。

  1. FROM scratch
    此镜像是从白手起家,从 0 开始构建。

  2. COPY hello /
    将文件“hello”复制到镜像的根目录。

  3. CMD ["/hello"]
    容器启动时,执行 /hello

镜像 hello-world 中就只有一个可执行文件 “hello”,其功能就是打印出 “Hello from Docker ......” 等信息。

/hello 就是文件系统的全部内容,连最基本的 /bin,/usr, /lib, /dev 都没有。

hello-world 虽然是一个完整的镜像,但它并没有什么实际用途。通常来说,我们希望镜像能提供一个基本的操作系统环境,用户可以根据需要安装和配置软件。这样的镜像我们称作 base 镜像。

我们下一节讨论 base 镜像。

二维码+指纹.png

目录
相关文章
|
Kubernetes Linux Docker
Docker容器生产实践1——永远设置容器内存限制
背景 在默认情况下,docker容器并不会对容器内部进程使用的内存大小进行任何限制。对于PaaS系统而言,或者对于直接使用docker的用户而言,这非常危险。
3033 0
|
8月前
|
存储 关系型数据库 MySQL
容器的配置和存储
本实验介绍了如何在容器中配置环境遍历和共享文件
79 0
|
10月前
|
NoSQL Redis Docker
容器数据卷
容器数据卷
53 0
每次5分钟带你玩转一个阿里云容器服务小技巧
阿里云云原生应用平台推出5分钟玩转阿里云容器服务课程,每次5分钟带你玩转一个阿里云容器服务小技巧
每次5分钟带你玩转一个阿里云容器服务小技巧
|
存储 安全 Cloud Native
容器镜像服务的几个特性
容器镜像服务的几个特性
219 0
|
存储 运维 Kubernetes
容器镜像服务的优点
容器镜像服务的优点
225 0
|
存储 Dragonfly 供应链
对容器镜像的思考和讨论
常言道,startup 有 startup 的好,大厂有大厂的好,那么大厂究竟好在哪呢?拿硅谷老牌大厂们 FLG 来说,如果要问最令人怀念的是什么?Free food 和基础设施(Infrastructure)一定是会上榜的,两者均极大提升了广大应用开发者的幸福指数。那么能不能“让天下没有难做的应用”呢?请大家把目光投向正在兴起的云原生生态。
对容器镜像的思考和讨论
|
存储 Dragonfly 供应链
容器技术之容器镜像篇
# 前言 常言道,startup有startup的好,大厂有大厂的好,那么大厂究竟好在哪呢?拿硅谷老牌大厂们FLG来说,如果要问最令人怀念的是什么?Free food和基础设施(Infrastructure)一定是会上榜的,两者均极大提升了广大应用开发者的幸福指数。那么能不能“让天下没有难做的应用”呢?请大家把目光投向正在兴起的云原生生态。 在云原生生态中,容器服务包括了镜像和容器引擎
1518 0
容器技术之容器镜像篇
|
存储 弹性计算 Cloud Native
你的第一个容器镜像,构建、分发、运行
再也不要当容器小白了!Build ship and run!
1593 0
你的第一个容器镜像,构建、分发、运行