创建镜像 - 创建与定制 mysql 镜像

本文通过创建和定制MySQL镜像,详细解释了Dockerfile的使用和docker build命令,以及如何基于官方镜像进行定制,讨论了是否需要定制镜像及其基础的选择。内容包括Dockerfile中的FROM、RUN、COPY等指令以及如何构建和使用自定义镜像。
摘要由CSDN通过智能技术生成

创建镜像 - 创建与定制 mysql 镜像

本文通过制作与定制 mysql 镜像为案例,一方面说明创建镜像简单,另一方面解释 docker image 的内容,直观描述 docker build 命令与 Dockerfile 主要配置。这些基本能满足日常工作需要,需要完整的命令和配置说明可参考官方文档或网上的翻译。

1、docker images?

docker images 使得软件实现拿来即用。docker images 中包含什么呢?

先得看官方关于 docker 的描述1

这里写图片描述

其中:

  • KERNEL 是每个 Linux 操作系统都有的, image 不包含。
  • DEBIAN-image 代表我们常见的 Linux 系统(不含 KERNEL),如 CentOS, Ubuntu,Debian 等又称为 Linux 发行版。这些除了包含 KERNEL 外,包含大量操作系统扩展、各种管理工具、开发工具、图像界面支持等。通常都是庞然大物,命令行版本的文件系统也有几百兆。这些镜像大约 100~200M。
  • BUSY BOX-image 代表精简的 Linux 系统, 如 Alpine, busybox, CoreOS 等,仅支持一些最基本 Linux 命令和一个简单应用包管理,以及以满足云应用需求的支持。这些镜像 5~10M。
  • ADD EMACS-image 代表 Emacs 这样的基础应用,它仅在基础操作系统文件基础上添加了自己的代码和依赖包;
  • ADD APACHE-image 代表 Apache web 应用,建立在已有 emacs 镜像基础上,即文件系统添加了 apache 及其依赖包。这样形成多层叠加的文件系统,尽管 APACHE-image 仅包含自己的内容,但启动后,我们可以访问基础操作系统、emacs 提供的程序和软件包。
  • WRITEBLE COTAINER 是镜像中程序在与主机(Host)隔离环境下运行进程产生的中间文件。

因此:

image 是文件(增量)与环境(context)配置文件的集合。

这个定义太枯燥,我们来看它的生成过程:

2、mysql 镜像制作

2.1 Dockerfile 文件

docker build 默认使用 Dockerfile 文件创建镜像。mysql 官方 docker 构建(mysql5.7)的 Dockerfile 文件内容是2

FROM debian:jessie

# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN groupadd -r mysql && useradd -r -g mysql mysql

# add gosu for easy step-down from root
ENV GOSU_VERSION 1.7
RUN set -x \
    && apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lis
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值