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