从一个外行人的角度理解Docker

13 浏览
0 Comments

从一个外行人的角度理解Docker

我刚接触Docker一天,所以对我来说它相对而言非常新颖。

我阅读了docker.io,但无法找到一些基本问题的答案。以下是问题的内容:

  1. Docker基本上是一个工具,允许您使用镜像并通过安装软件来创建自定义镜像,以便您可以使用它来创建虚拟机。

从鸟瞰一万英尺的高度来看,这就是Docker的全部内容吗?

2. 容器的确切含义是什么?它是镜像的同义词吗?

3. 我记得在某个地方读到它可以让您部署应用程序。这是正确的吗?换句话说,它是否像IIS一样用于部署.NET应用程序?

请回答上述问题,以便我能更好地理解并继续学习。

0
0 Comments

从一个外行人的角度理解Docker

Docker是一个用于容器化应用程序的开源平台,它提供了一种轻量级的虚拟化解决方案。它的出现源于以下原因:虚拟化技术可以提供进程的隔离性,但会带来较大的资源开销。Docker提供了一种既能实现进程隔离性,又能避免资源开销的解决方案。

Docker的核心概念是容器(container),它可以被视为一种改进的chroot(chroot是一种Unix操作系统的功能,用于将进程的根目录修改为指定的目录)。容器中运行的实例会认为自己是独立运行在一台机器上的,就像云设备一样。容器提供了比在主机操作系统上运行更多的进程隔离性,并且可以根据需要轻松地启动多个独立的容器实例。与完全虚拟化相比,Docker的资源开销要低得多。

在Docker中,镜像(image)是指包含文件系统和一些其他组件的文件。容器在启动时会挂载镜像文件作为根文件系统。实际上,一个镜像可能由多个文件系统层级组成,形成根文件系统。

在Docker中,部署(deploy)是指启动一个容器实例的操作。通过部署,每个运行的容器实例都会认为自己是唯一运行在该机器上的进程。这种设计类似于云设备的工作方式。Docker支持在单个实例中运行多个进程,但这通常被认为是高级用法。

总之,Docker从一个外行人的角度来看,提供了一种轻量级的虚拟化解决方案。它通过容器化应用程序,实现了进程的隔离性,同时避免了资源开销。容器在启动时会加载镜像文件作为根文件系统,每个容器实例都以为自己是唯一运行在该机器上的进程。这种设计使得Docker能够提供比在主机操作系统上运行更高的进程隔离性,并且可以轻松地启动多个独立的容器实例。与完全虚拟化相比,Docker的资源开销要低得多。

0
0 Comments

理解Docker的一个普通人的角度

Docker是一个开源引擎,它将任何应用程序自动部署为轻量级、便携式、自包含的容器,并可以在几乎任何地方运行。它的目标是让应用程序的部署更加简单、可移植和可靠。

Docker的容器是一个活跃的(或者是已退出的)有状态的镜像实例。而镜像是一组层次结构,可以被构建和移动,但是是只读的。在Docker中,容器可以用来部署应用程序的各个组件或者多个组件。

因此,Docker可以用于部署应用程序。你可以根据需求,将应用程序的单个组件或者多个组件部署到一个容器中。这样可以使得应用程序的部署更加灵活和简化。在Docker的官方文档中,有一些示例,可以帮助你更好地理解如何使用Docker来部署应用程序,例如Node.js web应用程序、Python web应用程序、运行Redis服务等。

总之,Docker的出现是为了简化应用程序的部署过程,让开发者和运维人员能够更轻松地管理和部署应用程序。通过使用Docker,可以将应用程序打包成容器,实现快速部署、便捷移动和可靠运行。

0