Docker技术实践——中级篇

简介: 1.1     存储机制 每个镜像由多个镜像层组成,镜像层都是只读的,从下往上,以栈方式组合在一起,组成容器的根文件系统。镜像文件默认保存在主机的/var/lib/docker/volumes中。


1.1     存储机制

每个镜像由多个镜像层组成,镜像层都是只读的,从下往上,以栈方式组合在一起,组成容器的根文件系统。镜像文件默认保存在主机的/var/lib/docker/volumes中。

容器层是可读写层。每个容器运行时都有自己的容器层,保存容器运行相关的数据,容器层之下的所有镜像都是只读的,多个容器可以共享一个镜像。容器层是保存在/var/lib/docker/containers路径。每次新建容器时,只需要为每个容器新建一个可写的数据层,而不用复制所有的镜像层。

容器层和镜像层都保存在宿主机的文件系统中,通过Docker存储驱动来管理。

1.2     数据卷和存储驱动

容器使用数据卷保证数据持久性,删除容器时候,所有不在数据卷中的数据都会被删除。因为数据卷是主机上的一个文件或者目录,不受存储驱动程序管理。

    Docker设计了一套存储驱动插件框架,开发者可以基于此套标准,设计开发自己的存储驱动。

00454ddea95009cdc829d2afc330800c3632cda9

    可以使用docker info查看当前存储驱动。

    使用哪种存储驱动取决于用户在宿主机上使用何种文件系统。有些存储驱动可以工作在不同的后端文件系统上。

86ff0b904bea207d5b9c512faf4f321f4f815617

    可以在启动Docker使用使用--storage-driver来指定。

    Docker中每种存储驱动都是基于Linux文件系统或卷管理工具的。

 

1.3     定制Docker Daemon

因为Docker Daemon有七八十个启动选项,根据应用场景定制Docker运行环境就显得非常有必要。

    在命令行中输入dockerd即可启动,就是默认的方式启动Daemon了。

    如果开启debug模式,可以执行

#dockerd -D

    仓库相关配置:

    --disable-legacy-registry选项,可以选择不从旧版本的镜像仓库中下载镜像。因为Docker从1.6版本后,支持从V2版本的镜像仓库下载镜像。

    使用镜像仓库,使用参数—registry-mirror选项。

    此外,还有何网络配置相关的等等。

    因为,旧版本docker的配置文件默认的在 /etc/default/docker ,现在已不推荐。

变量的使用查看/lib/systemd/system/docker.service

    可以参考官方指南:

 

目录
相关文章
|
22天前
|
运维 网络安全 持续交付
IDEA+Docker 远程一键部署项目:技术干货分享
【10月更文挑战第4天】在现代软件开发中,快速、可靠、自动化的部署流程是提升开发效率和运维质量的关键。IDEA(IntelliJ IDEA)作为Java开发者首选的IDE,结合Docker这一轻量级容器化技术,能够实现远程一键部署项目,极大地简化了开发到生产的流程。今天,我将和大家分享这一组合在工作学习中的实际应用和技术干货。
137 3
|
1月前
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
4天前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
16 3
|
8天前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
38 2
|
16天前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
12天前
|
存储 应用服务中间件 云计算
深入解析:云计算中的容器化技术——Docker实战指南
【10月更文挑战第14天】深入解析:云计算中的容器化技术——Docker实战指南
36 1
|
17天前
|
运维 JavaScript 虚拟化
探索容器化技术:Docker的实践与应用
【10月更文挑战第9天】探索容器化技术:Docker的实践与应用
43 3
|
24天前
|
Ubuntu Linux 虚拟化
Docker入门实践(一)
Docker入门实践(一)
|
1月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
11天前
|
存储 Kubernetes 监控
深入探索Docker容器化技术的奥秘
【10月更文挑战第15天】深入探索Docker容器化技术的奥秘
16 0