Docker初步了解

简介: Docker初步了解

什么是docker?


Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。


Docker本质上是一种软件,让用户创建镜像(很像虚拟机的模板),并且随后在容器里运行该镜像的实例。


Docker维护着有很多镜像的存储库,称为Docker Hub,用户可以将其作为尝试镜像的起点,或者作为镜像的免费存储。用户可以安装Docker,选择想要使用的镜像,然后在容器里运行其实例。


为什么要使用docker?


我们一定遇到过这种情况,辛辛苦苦敲了代码,调好了bug,结果一放到测试环境,或者开发环境,就呵呵哒了。有时候环境的不同,就有可能导致功能不能用,而且环境的问题还很难调试出来,这些问题,也会占用大量开发的时间,所以,docker的存在,可以用来解决这个问题。


docker结构


docker守护进程


Docker 守护进程运行在一台主机上。用户并不直接和守护进程进行交互,而是通过 Docker 客户端间接和其通信。


docker客户端


我们主要通过客户端和docker交互。它接收用户指令并且与背后的 Docker 守护进程通信。


docker内部


要理解 Docker 内部构建,需要理解以下三种部件:


Docker 镜像 - Docker images


Docker 仓库 - Docker registeries


Docker 容器 - Docker containers


Docker 镜像


Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。Docker 使用 UnionFS 来将这些层联合到单独的镜像中。UnionFS 允许独立文件系统中的文件和文件夹(称之为分支)被透明覆盖,形成一个单独连贯的文件系统。正因为有了这些层的存在,Docker 是如此的轻量。当你改变了一个 Docker 镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新 的层被添加或升级了。现在你不用重新发布整个镜像,只需要升级,层使得分发 Docker 镜像变得简单和快速。


Docker 仓库


Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。公有的 Docker 仓库名字是 Docker Hub。Docker Hub 提供了庞大的镜像集合供使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。Docker 仓库是 Docker 的分发部分。


Docker 容器


Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker 镜像创建的。Docker 容器可以运行、开始、停止、移动和删除。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是 Docker 的运行部分。


目录
相关文章
|
7月前
|
监控 Linux 持续交付
认识Docker
认识Docker
58 0
|
存储 监控 开发者
Docker详解,你知道的和不知道的都在这儿
@[TOC](目录) Docker 是一个开源的容器化平台,允许开发者将应用程序和所有其依赖项打包成一个轻量级、可移植的容器,以便在任何地方运行。Docker 采用了 Linux Namespace 和 cgroups 等技术,实现了高度的资源隔离和安全保障,使得容器化应用得以快速、高效地部署和运行。 本文将详细介绍 Docker 的架构、原理和应用,包括以下内容: 1. Docker 的架构和原理 2. Docker 的安装和使用 3. Docker 的基本命令和操作 4. Docker 的容器管理 5. Docker 的网络管理 6. Docker 的存储管理 7.
153 0
|
关系型数据库 MySQL Docker
|
运维 Java 程序员
【docker】对docker的理解
【docker】对docker的理解
|
Java Linux 虚拟化
|
JSON API 数据格式
docker详解
docker详解
95 0
|
安全 Linux Docker
认识 Docker 的世界
Docker 简介:Docker 是一种运行于 Linux 和 Windows 上的软件,用于创建、管理和编排容器。 Docker 是在 GitHub 上开发的 Moby 开源项目的一部分。 Docker 公司,位于旧金山,是整个 Moby 开源项目的维护者。Docker 公司还提供商业版和社区版。Docker运行时与编排引擎:Docker 引擎是用于运行和...
251 1
认识 Docker 的世界
|
Docker 容器
Docker 初识
Docker 初识
58 0
|
Kubernetes Linux 持续交付
什么是Docker?
什么是Docker?
144 0