Docker 是一个旨在帮助开发人员使用容器构建、共享和运行应用程序的平台。Docker 本身并不是一个平台即服务;相反,它是一个容器化平台。
**容器**
容器是轻量级、可移植的单元,它将应用程序与其所有依赖项捆绑在一起,以确保它在不同环境中一致运行。
基本 DOCKER 概念
容器:容器是打包应用程序及其依赖项的隔离环境。它们类似于轻量级虚拟机,但共享主机系统内核,因此速度更快,资源占用更少映像:docker 映像是一个轻量级、独立且可执行的软件包,其中包含运行应用程序所需的一切。Docker 引擎:这是 Docker 的核心,允许您构建、运行和管理容器。Docker 文件:包含一组用于构建 Docker 映像的指令的文本文件。例如,它定义基础映像、应用程序代码、依赖项以及所需的任何配置。Docker Hub:一个基于云的存储库,您可以在其中查找和共享 Docker 映像。它类似于 GitHub,但用于容器映像。**基本 DOCKER 命令**
FROM:定义一个基础镜像,可以从 Docker Hub 中提取。(例如,如果我们想创建一个以 Node.js 为后端的 JavaScript 应用程序,那么我们需要将 Node 作为基础镜像,以便它可以运行 Node 应用程序。)RUN:在新的图像层中执行命令(我们可以有多个RUN命令)。CMD:运行容器时要执行的命令。(建议只有一个 CMD 命令。如果 Dockerfile 有多个 CMD,则仅应用最后一个命令中的指令。)EXPOSE:记录哪些端口是暴露的。(仅用于文档。)ENV:设置图像内的环境变量。COPY:用于将本地文件/目录复制到 Docker 容器。ADD:这是 COPY 指令的功能更丰富的版本。• COPY 优于 ADD。• ADD 和 COPY 之间的主要区别在于 ADD 允许您从 URL 作为源进行复制,而 COPY 只能有本地 URL。**在 Ubuntu 上运行 DOCKER**
步骤 1:您需要在 VM-Ware 工作站上的 ubuntu 上安装 docker 引擎。在 VMWare 虚拟机上打开浏览器 https://docs.docker.com/engine/install/ubuntu/ 滚动到使用 DOCKER APT REPOSITORY 安装复制代码。前往 VMWare 环境上的终端,确保您在根目录中,使用命令 sudo su,然后将其粘贴到您的 VM Ware 工作站中

从网站复制第二个代码并粘贴

步骤2:为了验证我们是否已成功安装docker,我们将第三个代码粘贴到我们的环境中,如果它显示HELLO WORLD,则表示docker已成功安装。

**使用容器运行 NGNIX**
我们前往 docker hub。我们将生成一个容器镜像。
搜索 ngnix
我们需要拉取图像。为此,我们使用命令 docker pull nginx。这将从存储库拉取图像并将其下载到我们的本地环境中。
下载命令后,我们需要运行容器镜像。我们运行命令 docker run --detach --all nginx:latest 破折号 (-d) 将在后台运行 docker。
我们运行命令 docker ps 来获取端口。此命令将为我们提供有关正在运行的命令的所有信息。
另一个步骤是获取 IP 地址,我们运行命令 ip addr show
**请注意终端中数字 2 的 IP 地址,我们必须将其复制并粘贴到我们的浏览器中,添加列 (:) 端口号,如下所示**

这证实我们已在系统上成功安装了 NGINX。
接下来我们创建一个目录 mkdir(目录名称)并使用 CD(目录名称)进入该目录
要构建 docker 文件,我们首先需要创建一个文本文档。首先需要使用命令 apt install vim 安装一个文本编辑器
然后我们使用 vim dockerfile 代码创建一个文本文档,它会自动带我们进入文本编辑器页面,如下所示:
每个 dockerfile 都需要一个父级命令。左侧命令将是指令,而右侧将是父级的名称。例如,来自(父级的名称)的第一个命令 FROM 是父级后面的指令。要退出文本编辑器,我们输入 escape shift 列 wq
接下来,我们使用命令 docker build -t (应用程序名称) 来构建我们在文本编辑器中创建的应用程序。
Docker 彻底改变了开发人员构建、部署和管理应用程序的方式。其容器化技术可实现一致的环境、资源效率和快速可扩展性,使其成为现代软件开发和 DevOps 实践中必不可少的工具。通过减少依赖关系并简化部署流程,Docker 弥合了开发和生产环境之间的差距。
随着组织继续采用云原生架构,了解 Docker 及其生态系统不再是可有可无的,而是在当今技术驱动的环境中保持竞争力的必需品。无论您是经验丰富的开发人员还是初学者,拥抱 Docker 无疑将增强您提供可靠且可扩展的软件解决方案的能力。
深入研究 Docker,试验其功能,并释放其全部潜力以提升您的开发工作流程!