作者文章

fwq

FWQ
Docker教程
Docker 术语
Docker 术语 Compose 文件的当前名称,因为它是一个文件,格式为代码。 compose 插件作为可以启用/禁用的附加组件(适用于 Docker CLI)。 每次推送图像时自动创建的长字符串。您可以通过摘要或标签来拉取图像。 当我们谈论应用程序或与应用程序相关的所有功能时使用。 使用代码格式来引用文本和命令使用示例/代码示例中的命令。 在引用 Docker CLI 提供的 Compose 命令系列时使用。 不要使用。代替使用Kubernetes。 (广义)Mac vs Linux vs Microsoft,还有一对平台架构,例如 Linux/amd64 和 Linux/arm64; (狭义)Windows/Linux/macOS。 当专门指代…
2024-11-11 阅读全文 →
FWQ
Docker教程
将 PHP 应用程序容器化
将 PHP 应用程序容器化 您已安装最新版本的 。 你有一个 。本节中的示例使用基于命令行的 git 客户端,但您可以使用任何客户端。 本部分将引导您完成容器化和运行 PHP 应用程序。 在本指南中,您将使用预构建的 PHP 应用程序。该应用程序使用 Composer 进行库依赖管理。您将通过 Apache Web 服务器为应用程序提供服务。 打开终端,将目录更改为您想要工作的目录,然后运行以下命令来克隆存储库。 $ git clone https://github.com/docker/docker-php-sample 该示例应用程序是一个基本的 hello world…
2024-11-11 阅读全文 →
FWQ
Docker教程
将 Go 镜像作为容器运行
将 Go 镜像作为容器运行 中容器化 Go 应用程序的步骤 。 在上一个模块中,您Dockerfile为示例应用程序创建了一个,然后使用命令创建了 Docker 映像docker build。现在您已经有了该映像,您可以运行该映像并查看您的应用程序是否正常运行。 容器是一个普通的操作系统进程,只不过这个进程是隔离的,有自己的文件系统、自己的网络以及与主机分离的自己的隔离进程树。 要在容器内运行映像,请使用该docker run命令。它需要一个参数,那就是图像名称。启动您的映像并确保其正常运行。在终端中运行以下命令。 $ docker run docker-gs-ping ____ __ / __/___/ / ___ / _// __/ _…
2024-11-11 阅读全文 →
FWQ
Docker教程
将 Java 应用程序容器化
将 Java 应用程序容器化 您已安装最新版本的 。 Docker 定期添加新功能,本指南的某些部分可能仅适用于最新版本的 Docker Desktop。 您有一个 。本节中的示例使用基于命令行的 Git 客户端,但您可以使用任何客户端。 本部分将引导您完成容器化和运行 Java 应用程序。 将您将使用的示例应用程序克隆到本地开发计算机。在终端中运行以下命令来克隆存储库。 $ git clone https://github.com/spring-projects/spring-petclinic.git 示例应用程序是使用 Maven 构建的 Spring Boot 应用程序。有关更多详细信息,请参阅readme.md存储库。 现在您已经有了一个应用程序,您可以用来docker…
2024-11-11 阅读全文 →
FWQ
Docker教程
开始后下一步做什么
开始后下一步做什么 尽管您已经完成了入门指南,但关于容器还有很多东西需要了解。 以下是接下来需要关注的其他一些领域。 在生产环境中运行容器非常困难。您不想登录到计算机并简单地运行 docker run或docker compose up。为什么不?那么,如果容器死掉了会发生什么?如何跨多台机器进行扩展?容器编排解决了这个问题。 Kubernetes、Swarm、Nomad 和 ECS 等工具都有助于解决这个问题,只是方式略有不同。 总的想法是让管理者获得预期的状态。此状态可能是“我想运行我的 Web 应用程序的两个实例并公开端口 80”。然后,管理器查看集群中的所有机器并将工作委托给工作节点。管理人员观察变化(例如容器退出),然后努力使实际状态反映预期状态。 CNCF 是各种开源项目的供应商中立之家,包括 Kubernetes、Prometheus、Envoy、Linkerd、NATS 等。您可以 以及在此处查看整个 。有很多项目可以帮助解决监控、日志记录、安全、图像注册、消息传递等方面的问题。 Docker 建议观看 DockerCon 2022 的视频研讨会。观看整个视频或使用以下链接打开特定部分的视频。 如果您想了解如何从头开始构建容器,Aqua…
2024-11-11 阅读全文 →
FWQ
Docker教程
为您的 .NET 应用程序配置 CI/CD
为您的 .NET 应用程序配置 CI/CD 开始,完成本指南前面的所有部分 。您必须拥有 帐户和 帐户才能完成此部分。 在本部分中,您将了解如何设置和使用 GitHub Actions 来构建和测试 Docker 映像,并将其推送到 Docker Hub。您将完成以下步骤: 在 GitHub 上创建一个新存储库。 定义 GitHub Actions 工作流程。 运行工作流程。 创建 GitHub 存储库、配置 Docker…
2024-11-11 阅读全文 →
FWQ
Docker教程
多容器应用程序
多容器应用程序 到目前为止,您一直在使用单容器应用程序。但是,现在您将把 MySQL 添加到应用程序堆栈中。经常出现以下问题:“MySQL 将在哪里运行?安装在同一个容器中还是单独运行?”一般来说,每个容器应该做一件事,并且做好。以下是单独运行容器的几个原因: 您很有可能必须以不同于数据库的方式扩展 API 和前端。 单独的容器允许您隔离版本和更新版本。 虽然您可以在本地使用数据库容器,但您可能希望在生产中使用数据库托管服务。那么您不想将数据库引擎与您的应用程序一起提供。 运行多个进程将需要一个进程管理器(容器只启动一个进程),这增加了容器启动/关闭的复杂性。 还有更多的原因。因此,如下图所示,最好在多个容器中运行您的应用程序。 请记住,默认情况下,容器是独立运行的,并且不了解同一台计算机上的其他进程或容器。那么,如何允许一个容器与另一个容器通信呢?答案是网络。如果将两个容器放在同一网络上,它们就可以相互通信。 将容器放到网络上有两种方法: 启动容器时分配网络。 将已运行的容器连接到网络。 在以下步骤中,您将首先创建网络,然后在启动时附加 MySQL 容器。 创建网络。 $ docker network create todo-app 启动 MySQL 容器并将其连接到网络。您还将定义数据库将用于初始化数据库的一些环境变量。要了解有关…
2024-11-11 阅读全文 →
FWQ
Docker教程
声音和语气
声音和语气 在 Docker,我们一直是客户。我们是为开发者开发的开发者。我们以经验和知识说话,没有傲慢或自负。我们希望向人们提供信息并赋予他们权力,而不是令人困惑或咄咄逼人。 我们并不害怕使用一点厚颜无耻的幽默来缓和谈话(因为我们不会太认真地对待自己),但我们总是尊重他人。我们的沟通清晰、富有同理心且机智;我们所说的一切都应该提供信息和鼓励。 我们的语气和内容与我们的美德保持一致。我们写作时遵循的最重要原则是 4C: 正确的 简洁的 完全的 清除 我们确保信息准确、简洁、全面且易于理解。我们使句子尽可能简单,但包含足够的细节,以便用户完成预期的任务。 所有这些意味着当我们编写文档和 UI 副本时: 我们是诚实的。我们向您提供所有事实,我们不会误导或做出模棱两可的陈述。我们并不总能找到所有答案,但我们正在尽最大努力让开发人员的生活变得更好,我们会告诉您进展如何。 我们很简洁。我们了解用户所处的复杂而详细的消息传递行业,因为我们来自同一个世界。 Docker 不会用空洞的词语或复杂的隐喻来加强我们的沟通。我们说得很清楚并且切中要害。 我们很放松。我们的举止随意但不懒惰,聪明但不傲慢,专注但不冷漠。我们的声音应该是欢迎和温暖的。 我们具有包容性。开发人员就是开发人员,无论他们编写了多少代码。每个人都是我们社区的一部分。我们接受来自各个行业和经验水平的所有开发人员。 Docker 的语气通常是非正式的,但我们相信清晰总是比滑稽更重要。我们很放松,但我们并不不合适或不专业。 使用自然、友好和尊重的语气,不要过于口语化或充满行话。编写内容是为了向开发人员提供信息和授权,而不是令人困惑或咄咄逼人。只要句子不会变得太俚语或非正式,就可以使用缩写。 避免过度礼貌。保持友好和礼貌固然很好,但在技术文档或 UI 副本中使用“请”可能会过于礼貌。 使用积极的语言。不要强调限制和用户不能做什么,而是强调积极的结果。 例如,代替:…
2024-11-11 阅读全文 →
FWQ
Docker教程
Dockerfile 指令的最佳实践
Dockerfile 指令的最佳实践 这些建议旨在帮助您创建高效且可维护的 Dockerfile。 只要有可能,请使用当前的官方图像作为图像的基础。 Docker 推荐使用 ,因为它受到严格控制且尺寸较小(目前低于 6 MB),同时仍然是一个完整的 Linux 发行版。 有关该FROM指令的更多信息,请参阅 。 您可以向图像添加标签,以帮助按项目组织图像、记录许可信息、帮助实现自动化或出于其他原因。对于每个标签,添加LABEL以一个或多个键值对开头的行。以下示例显示了不同的可接受格式。解释性注释包含在内。 带有空格的字符串必须用引号引起来,或者必须对空格进行转义。内引号字符 ( ") 也必须转义。例如: # Set one or more individual labels LABEL com.example.version="0.0.1-beta"…
2024-11-11 阅读全文 →
FWQ
Docker教程
Go 语言特定指南
Go 语言特定指南 本指南将向您展示如何使用 Docker 创建、测试和部署容器化 Go 应用程序。 致谢 Docker 衷心感谢 对本指南的贡献。 在本指南中,您将学习如何: 创建一个Dockerfile包含为 Go 编写的程序构建容器映像的说明的文件。 将映像作为本地 Docker 实例中的容器运行并管理容器的生命周期。 使用多阶段构建来高效构建小镜像,同时保持 Dockerfile 易于阅读和维护。 使用 Docker Compose 在开发环境中协调多个相关容器的运行。 为您的应用程序配置 CI/CD 管道…
2024-11-11 阅读全文 →