linux企业实战 --Docker镜像构建

一、镜像的分层结构

在这里插入图片描述
如上图所示:

  • 共享宿主机的kernel
  • base镜像提供的是最小的Liunx发行版
  • 同一docker主机支持运行多种Liunx发行版
  • 采用分层结构的最大好处是:共享资源

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

如上图所示:

  • Copy-on-Write 可写容器层
  • 容器层以下所有镜像层都只是可读的
  • docker 从上往下依次查找文件,即最上最早生效
  • 容器层保存镜像变化的部分,并不会对镜像本身进行任何修改
  • 一个镜像最多127层

例:拉取镜像部分操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、镜像的构建

1. 从容器构建镜像(简:容器镜像) --commit命令

1.1 commit 详述

a. docker commit 构建新镜像三部曲

  • 运行容器
  • 修改容器
  • 将容器保存为新的镜像

b. 缺点

  • 效率低、可重复性若,容易出错
  • 使用者无法对镜像进行审计,存在安全隐患

1.2 构建方式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2. Dockerfile构建镜像

2.1 Dockerfile 参数

在这里插入图片描述

参数:maintainer
在这里插入图片描述

参数:ADD

在这里插入图片描述

参数:ENV

在这里插入图片描述

参数:EXPOSE

在这里插入图片描述在这里插入图片描述
查看端口
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

参数:VOLUME

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参数:WORKDIR
在这里插入图片描述

参数:RUN
在这里插入图片描述
在这里插入图片描述
参数:CMD & ENTRYPOINT

多个命令时仅仅执行最后一个!!!
在这里插入图片描述
在这里插入图片描述

输出变量
在这里插入图片描述
在这里插入图片描述

ENTRYPOINT
在这里插入图片描述
在这里插入图片描述
参数:Shell

在这里插入图片描述

2.2 构建方式

a. Dockerfile语法

  • Dockerfile由一系列指令和参数组成。每条指令都必须为大写字母,并且后面要跟随一个参数
  • Dockerfile中的指令会按照顺序从上到下执行,所以应该根据需要合理安排指令的顺序
  • 每条指令都会创建一个新的镜像层并对镜像进行提交

b. Docker大体上按照如下流程执行Dockerfile中的指令

  • Docker从基础镜像运行一个容器。
  • 执行第一条指令,对容器进行修改。
  • 执行类似docker commit的操作,提交一个新的镜像层。
  • Docker再基于刚提交的镜像运行一个新的容器。
  • 执行Dockerfile中的下一条命令,直到所有指令都执行完毕

示例一:可以清晰的知道构建镜像的具体步骤
在这里插入图片描述
在这里插入图片描述

示例二:可以观察到资源共享

在这里插入图片描述

示例三:观察到缓存特性

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值