Discuz! Board

標題: 如何使用 Docker 构建应用程序? [打印本頁]

作者: joypaul00    時間: 2024-3-21 11:38
標題: 如何使用 Docker 构建应用程序?

无论您是计划开始 DevOps 职业生涯还是已经在其中,Docker 都需要列在您的简历中。 因为 Docker 是当今 DevOps 领域人员的基本技能之一。 今天,我在这里讨论一个与开发应用程序并在AWS、Azure、Google Cloud Platform等云提供商上发布的人员非常相关的主题。 隐藏内容 什么是 Docker 优点和缺点 使用Docker的优点 使用Docker的缺点 Docker 架构 Docker 镜像 Docker 构建 虚拟机与Docker的区别 在你的公司使用Docker 如何在您的机器上安装 在 Linux 上安装 Docker (Ubuntu) 在 MacOS 上安装 Docker 在 Windows 下安装 Docker Docker CLI:命令行实用程序 使用 Docker 创建应用程序 开发、交付和运行 学习 Docker 的门课程和材料 葡萄牙语课程和教程 英语课程和辅导 什么是 Docker 码头上排列的集装箱 简单来说,Docker 是一个软件平台,可以简化构建、运行、管理和分发应用程序的过程。 它通过虚拟化安装和运行它的计算机的操作系统来实现这一点。 它允许用户创建独立、隔离的环境来启动和部署他们的应用程序。这些环境称为容器。 这将允许开发人员在任何机器上运行容器。 有了 Docker,就不再存在依赖或编译问题。您所需要做的就是启动容器,您的应用程序将立即启动。 Docker是Docker公司使用GO编程语言开发的开源程序。 它的第一版于年月日发布,自发布以来,它已成为技术开发领域非常重要的软件。 可以说, Docker 的关键词 是:构建、 发布 和 随处运行。 docker架构图 代表 Docker 架构的图形。 详细观看这个有关“什么是 Docker”的 LINUXtips 视频,然后继续阅读! 的优点和缺点 使用 Docker 的优点 但Docker并不是一个虚拟机中完整的操作系统。 Docker 将仅共享主机资源来运行您的环境。 它是一个可以真正改变开发人员日常生活的工具。 因此,我们列出了该软件的优势: Docker 速度很快。与虚拟机不同,您的应用程序在几秒钟内启动并停止得同样快。 Docker 是跨平台的。

您可以在任何系统上启动容器。 容器的构建和删除速度比虚拟机更快。 设置桌面不再有困难。设置 Docker 后,即使您移动计算机,也无需再次手动重新安装依赖项。 您可以保持工作空间干净,因为每个环境都将被隔离,您可以随时 币安应用用户数据 删除它们,而不会影响其余环境。 将项目部署到服务器以使其上线会更容易。 使用 Docker 的缺点 好吧,没有一个软件是完美的,并且总是有一些局限性,所以让我们看看以下开发人员的一些主要批评: 有大量的升级功能请求仍在进行中(例如自我注册和自我检查容器的能力、将文件从主机复制到容器等)。 有时容器会出现故障,因此在此之后,它需要一个备份和恢复策略,虽然有多种解决方案,但它们还不是自动化的,甚至还不是非常可扩展的。 与虚拟机相比,Docker 容器的开销较小,但并非零开销。 主要问题是,如果应用程序设计为在 Windows 上的 Docker 容器中运行,则它无法在 Linux 上运行,反之亦然。但是,虚拟机不受此限制。 可以说,对于需要丰富接口的应用程序来说,Docker并不是一个好的解决方案。 简而言之,您需要评估 Docker 特定的安全风险,以确保在将工作负载转移到 Docker 之前能够解决这些风险。 Docker架构 曼哈顿建筑全景 该架构的主要组成部分包括: 适用于 Mac、Linux 和 Windows 的Docker – 允许您在操作系统上独立安装和运行容器的版本。 Docker Daemon – 在安装 Docker 的计算机上运行的软件。用户不直接与守护进程交互。 Docker 客户端 – CLI 或 REST API,接受用户命令并将这些命令传递给 Docker 守护进程。 Docker 镜像 ——它是一个模板。镜像包含从镜像运行容器所需的所有数据和元数据。 Docker 容器 ——保存应用程序运行所需的一切。每个容器都是从图像创建的。



每个容器都是一个独立隔离的应用程序。 Docker 引擎 – 用于创建图像和容器。 Docker 注册表 – 托管和标记图像的集合,它们一起允许创建容器的文件系统。记录可以是公开的或私有的。 Docker Hub – 这是一个用于托管和下载各种镜像的注册表。可以看作是一个SAAS图片共享和管理平台。 Dockerfile – 一个文本文件,包含用于创建新映像的简单语法。 Docker Compose – 用于使用多个容器定义应用程序。 Docker Swarm – 这是一个允许 Docker 容器集群的工具。 docker架构图 Docker镜像 在此步骤中,您将编写一个用于创建 Docker 映像的 Dockerfile。该映像包含 Python 应用程序所需的所有依赖项,包括 Python 本身。 然后,在项目目录中创建一个名为 Dockerfile 的文件并粘贴以下内容: 映像开始创建映像。 将工作目录设置为code。 设置flask命令使用的环境变量。 安装gcc和其他依赖项 复制requirementstxt并安装Python依赖项。 向镜像添加元数据以描述容器正在侦听端口 复制当前目录在项目中工作目录在图像中。 将容器的默认命令设置为flask run。 码头工人组成 在项目目录中创建一个名为 docker-composeyml 的文件并粘贴以下内容: version: "" services: web: build: ports: - ":" redis: image: "redis:alpine" 该 Compose 文件定义了两个 Web 服务和 redis。 Web 服务使用从当前目录中的 Dockerfile 创建的映像。 然后,它将容器和主机绑定到公开的端口 。 此示例服务使用 Flask Web 服务器的默认端口 。 Redis 服务使用从 Docker Hub 注册表中提取的公共 Redis 映像。 例如,如果在项目目录中通过运行 docker-compose up 启动应用程序,Compose 会从 Redis 中提取映像,为您的代码创建映像,然后启动您定义的服务。 在这种情况下,代码在编译时静态地复制到映像中。 虚拟机和Docker的区别 如果我们将其与虚拟化技术进行比较,我们会得到以下场景: docker架构图 可以看到,这种新架构极大地简化了资源的使用和系统开销,以便我们可以配置和分发我们的应用程序,而不管我们托管的提供商如何。 这种架构的主要优点是主机操作系统不需要额外的硬件。一切都将被视为容器。







歡迎光臨 Discuz! Board (http://newro.ggyy.tw/) Powered by Discuz! X2.5
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |