Docker 入门(三)

简介: Docker 入门(三)

本系列前两篇文章:

1、Docker 入门(一):基本概念

2、Docker 入门(二):构建镜像


现在有了 docker,如果要频繁的更改和测试程序时怎么办,每次都重新打一个新的镜像然后启动容器?

容器只是一个运行时,一旦被杀死,其内部的数据都会被清除,但是我们想要数据被持久化,又该怎么办?

不同的容器之间常常需要共享某些数据,这又该解决呢?




01


volume



Volume 翻译为卷,因为基本上用于挂载数据,所以也常常直接称之为数据卷。


所谓的挂载数据卷,实际上就是把宿主机本地的目录文件映射到 docker 容器内部的目录下。也就是说实际的目录文件是存放在本地磁盘上的,docker 容器通过挂载的方式可以直接使用本地磁盘上的文件。

如上图所示:

1、Data Volume 数据卷是存放在本地磁盘上,所以数据是持久化的,即使容器被杀死也不会影响数据卷中的数据。


2、不同的容器挂载同一个数据卷就实现了数据的共享。


3、容器对数据卷中操作都是即时的,一个容器改变了数据,那么另一个容器就会即时看到这种改变。


总而言之,挂载数据卷其实就是间接的操作本地磁盘上的数据,所谓间接是因为容器操作的是其内部映射的目录,而不是宿主机本地目录。



02


数据卷容器



如果有多个容器都需要挂载数据卷,难道需要每一个容器都挂载一遍到本地?当然不是。



如上图所示,这里引入了数据卷容器(图中的 Data Container ),其实就是一个普通的容器,我们只需要通过数据卷容器挂载( -v )一次数据卷,其他需要挂载的容器直接连接( --volumes-from )这个数据卷容器就行了,而再不需要知道实际的宿主机本地目录。


数据卷容器是否存在单点故障?也就是说数据卷容器挂了,其它的容器还能挂载并使用数据吗?答案是仍然能正常使用数据,因为数据卷容器本身只是一个数据卷挂载的配置传递的作用,只要其它容器挂载上就会一直有效,不会因为数据卷容器挂了而产生单点故障。




03


结语



本文简单讲述了数据卷的相关概念,实际操作只需要通过 docker run 命令启动容器时使用 -v(挂载到本地目录)和 --volumes-from(连接到数据卷容器)参数即可。

目录
相关文章
|
2月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
111 2
|
3月前
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【10月更文挑战第2天】本文将带你走进云原生的世界,从基础的Docker容器技术开始,逐步深入到Kubernetes集群管理。我们将通过实际代码示例,探索如何利用这些工具构建、部署和管理现代云应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,让你在云原生领域迈出坚实的一步。
95 5
|
18天前
|
Ubuntu 应用服务中间件 nginx
docker入门-快速学会docker
本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。
75 5
docker入门-快速学会docker
|
3月前
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
2月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
2月前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
2月前
|
运维 持续交付 虚拟化
docker入门详解!!!
本文介绍了容器技术的发展历程,从物理机到虚拟化再到容器化,重点讲解了Docker的诞生及其优势。Docker通过轻量级的容器技术,实现了资源的高效利用、快速启动、环境一致性、持续交付和部署等优点。文章还详细解析了Docker的架构和工作原理,包括Docker Daemon、REST接口、Docker Client等组件,以及容器与虚拟机的差异。
86 2
|
2月前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
58 3
|
2月前
|
Kubernetes Linux Docker
容器化技术Docker入门与实践
容器化技术Docker入门与实践
57 0
|
3月前
|
Ubuntu Shell 开发者
Docker入门:轻松开始容器化之旅
【10月更文挑战第17天】Docker 是一种开源的应用容器引擎,它让开发者能够“一次构建、到处运行”。Docker 通过容器化技术将应用程序及其依赖打包在一起,从而确保应用在任何环境中都能一致地运行。本文将为新手用户提供一个全面的Docker入门指南,包括基本概念、优势、安装配置以及如何创建和管理容器。
87 2

热门文章

最新文章