Docker,一种可以将软件打包到容器中并在任何环境中可靠运行的工具。但什么是容器以及为什么需要容器呢?今天就来一起学快速入门一下Docker吧!希望本文对您有所帮助。
假设您使用 Cobol 构建了一个在某种奇怪风格的 Linux 上运行的应用程序。您想与您的朋友分享这个应用程序,但他有一个完全不同的系统。那么问题就变成了,我们如何在任何机器上复制我们的软件所需的环境?
打包应用程序的一种方法是使用虚拟机,在虚拟机中模拟硬件,然后安装所需的操作系统和依赖项。
这允许我们在同一基础设施上运行多个应用程序。然而,由于每个虚拟机都运行自己的操作系统,因此它们往往体积庞大且速度缓慢。
现在,Docker 容器在概念上与虚拟机非常相似,但有一个关键区别。
容器只虚拟化操作系统,而不是虚拟化硬件。或者换句话说,所有应用程序或容器都由单个内核运行,这使得几乎所有内容都更快、更高效。
三个基本元素。
Docker世界包含三个基本元素:
-
Dockerfile
-
镜像
-
容器
Dockerfile 就像 DNA。它只是告诉 Docker 如何构建镜像的代码。镜像本身就是软件的快照,以及一直到操作系统级别的所有依赖项。该镜像是不可变的,它可用于启动多个容器,这是您在现实世界中运行的实际软件。
创建一个 docker 文件,并使用 from 从现有模板(如 Ubuntu)开始。
该基础镜像是从云端下载的,您还可以将自己的镜像上传到各种不同的 Docker 注册表。
从那里,您可能需要使用 run 来运行将依赖项安装到映像中的终端命令。您可以设置环境变量并执行各种其他操作,然后您要做的最后一件事就是设置启动容器时执行的默认命令。
现在,我们可以通过运行 docker build 命令来创建镜像文件。
它会遍历 Dockerfile 中的每个步骤来逐层构建镜像。
然后,我们可以使用 docker run 命令将此映像作为容器变为现实。
由于您的应用程序需要更多资源,您可以在多台计算机、多个云、本地或任何您想要可靠的地方运行它。
文章转载自:程序猿DD
原文链接:https://www.cnblogs.com/didispace/p/17884039.html