Linux进阶 | 万字详解Docker镜像的制作,手把手学会!

  创作不易,来了的客官点点关注,收藏,订阅一键三连❤😜  


前言

运维之基础——Linux。我是一个即将毕业的大学生,超超。如果你也在学习Linux,不妨跟着萌新超超一起学习Linux,拿下Linux,一起加油,共同努力,拿到理想offer!


系列文章

Linux进阶 | Docker部署nginx的web服务,VOLUME的使用详解,实现数据持久化!

Linux进阶 | 2万字总结最详细的Docker的安装、底层隔离机制和简单使用!建议收藏,持续更新❤

Linux | 详解系统监控和常用命令(top free dstat)

Linux 超超讲解SSH的原理与SSH的实现!建议收藏❤


概述

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。本期内容为Docker第三期,通过本期内容将会掌握docker的镜像制作。


目录

前言

概述

超超Docker学习思维导图 

镜像的概念

Base镜像

Bootfs与rootfs

镜像的分层结构

镜像的制作

制作前的疑问

Dockerfile

制作步骤

以制作nginx镜像为例启动web服务

自己练习制作nginx镜像

练习

练习一:以python:3.9镜像为基础创建镜像,并以此启动容器并连接到redis

练习二:实现docker官网的镜像制作


超超Docker学习思维导图 

Docker思维导图将持续更新,欢迎大家订阅Linux栏目! 


镜像的概念

Base镜像

Base 镜像有两层含义

1. 不依赖其他镜像,从 scratch 构建。
2. 其他镜像可以之为基础进行扩展。

Base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等,以 CentOS 为例学习 base 镜像包含哪些内容。

[root@docker ~]# docker images centos

REPOSITORY   TAG       IMAGE ID       CREATED        SIZE

centos       7         8652b9f0cb4c   9 months ago   204MB

使用docker pull centos下载最新版本的Centos镜像也就207M左右,而我们平时下载一个原生的centos镜像都是4G。

容器只能使用 Host kernel,并且不能修改。所有容器都共用 host kernel,在容器中没办法对 kernel 升级。如果容器对 kernel 版本有要求(比如应用只能在某个 kernel 版本下运行),则不建议用容器,这种场景虚拟机可能更合适。

Bootfs与rootfs

Bootfs:内核空间是 kernel,Linux 刚启动时会加载 bootfs 文件系统,之后 bootfs 会被卸载掉。

rootfs:容器内部的操作系统,用户空间的文件系统是 rootfs,包含我们熟悉的 /dev, /proc, /bin 等目录。

镜像的分层结构

Docker 支持通过扩展现有镜像,创建新的镜像。实际上,Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的。


镜像的制作

制作前的疑问

镜像是什么?

答案:镜像由程序代码、基础操作系统、基础软件组成。

      镜像是一个文件,里面包含了程序代码、基础操作系统、基础软件。

为什么要制作镜像,docker hub上不是有很多镜像吗?

答案:

    1.不能满足我们的需要

    2.不够安全,有安全隐患

谁去制作镜像?

答案: 一般都是开发人员去制作

        也可以是运维人员去制作、权利非常大的工作人员。

镜像里有什么?

1.base 镜像 --》基础镜像--》提供操作系统,其他软件最基本的功能

基础镜像里的操作系统:Ubuntu、debian、centos等

Dockerfile

如果你想要从一个基础镜像开始建立一个自定义镜像,可以选择一步一步进行构建,也可以选择写一个配置文件,然后一条命令(docker build)完成构建,显然配置文件的方式可以更好地应对需求的变更,这个配置文件就是Dockerfile。

那DockerFile是什么?

Dockerfile: 用于描述镜像的生成规则(配置文件),Dockerfile中的每一条命令,

  • 13
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaochao️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值