当前位置: 首页 > article >正文

对 Docker 理解的补充 docker容器虚拟化技术有什么用?怎么使用?

见字如面,

这里是AIGC创意人_竹相左边,

正在通过AI自学软硬件工程师,目标手搓可回收火箭玩具。

我很喜欢 《流浪地球 2》中 ,马兆:没有硬件支撑,你破解个屁。

1.对 Docker 理解的补充:

  • 容器与虚拟机的区别:
    • 您将 Docker 镜像比作光盘,这是一个很好的类比。
    • 但需要注意的是,Docker 容器与传统的虚拟机(VM)有所不同。
    • 虚拟机模拟整个操作系统,而 Docker 容器共享主机操作系统的内核。
    • 这使得 Docker 容器更加轻量级、启动速度更快,并且占用更少的资源。
  • Docker 的优势:
    • 一致性: Docker 确保应用程序在任何环境中都以相同的方式运行,消除了“在我机器上能运行”的问题。
    • 隔离性: 容器之间相互隔离,避免了应用程序之间的冲突。
    • 可移植性: Docker 镜像可以在任何支持 Docker 的平台上运行,简化了应用程序的分发。
    • 自动化: Docker 可以自动化应用程序的构建、测试和部署过程,提高了开发效率。
  • Docker Compose 的作用:
    • 当应用程序由多个相互关联的容器组成时,Docker Compose 就变得非常有用。
    • 它允许您使用一个配置文件来管理所有容器,简化了多容器应用程序的部署和管理。
  • Docker Registry:
    • Docker 镜像通常存储在 Docker Registry 中,例如 Docker Hub 或 GitHub Container Registry (ghcr.io)。
    • 您可以从 Registry 中拉取(下载)镜像,也可以将自己构建的镜像推送(上传)到 Registry 中。

image.png

2.Docker Compose相控阵 引爆核弹

image.png

“容器矩阵,一键启动管理” 这个比喻非常准确地抓住了 Docker Compose 的核心功能。它确实像一个矩阵式管理工具,允许您通过一个配置文件(docker-compose.yml)来定义和管理多个相互关联的容器,并实现一键启动和停止。

“相控阵引爆核弹” 这个比喻则更具震撼力,它强调了 Docker Compose 在处理复杂、大规模应用时的强大能力。相控阵能够精确控制多个单元,实现高度集中的能量释放,这与 Docker Compose 管理多个容器、协同工作的方式非常相似。

补充说明:

  • 容器编排:
    • Docker Compose 是 Docker 编排工具的一种,但它主要用于开发和测试环境。
    • 在生产环境中,通常会使用更强大的编排工具,如 Kubernetes 或 Docker Swarm,它们能够更好地处理大规模、高可用的应用部署。
  • 微服务架构:
    • Docker Compose 非常适合用于部署微服务架构的应用。
    • 微服务架构将应用程序拆分为多个小型、独立的服务,每个服务都可以运行在自己的容器中。
    • Docker Compose 可以轻松地管理这些微服务容器,并确保它们能够协同工作。
  • 声明式配置:
    • docker-compose.yml 文件采用声明式配置,这意味着您只需描述应用程序的期望状态,而无需关心具体的实现细节。
    • Docker Compose 会自动处理容器的创建、启动、停止和网络连接等细节。

image.png

3.通过 Docker Compose 运行项目

image.png

您的理解是完全正确的:

  • Docker Compose 的核心作用:
    • Docker Compose 的核心是通过 docker-compose.yml 文件来定义和管理多容器应用程序。
    • 只要您有一个正确的 docker-compose.yml 文件,以及其他必要的配置文件(如 settings.yaml),Docker Compose 就可以自动从 Docker Registry(例如 ghcr.io)拉取所需的镜像,并启动容器。
  • 您需要创建的文件:
    • docker-compose.yml:用于定义服务、网络和卷。
    • settings.yaml: 用于配置下载的目录和格式。
    • 下载的文件夹:用于存放下载的文件。
  • Docker 的镜像拉取:
    • docker-compose.yml 文件中指定了要使用的镜像(ghcr.io/mattblackonly/tubetube:latest)。
    • 当您运行 docker-compose up -d 命令时,Docker 会自动检查本地是否存在该镜像。
    • 如果本地不存在该镜像,Docker 会从 ghcr.io 拉取镜像。

4.那么,下载的 GitHub 文件有什么用呢?

学习和定制:

  • 通过查看源代码,您可以了解项目的实现原理,并根据自己的需求进行定制。
  • 通过查看 Docker Compose 文件,您可以了解项目的容器配置,并进行调整。

image.png

image.png

5.docker-compose 命令的执行路径至关重要

image.png

详细解释:

  • docker-compose 的工作原理:
    • docker-compose 工具依赖于当前目录下的 docker-compose.yml 文件来定义和管理容器。
    • 当您运行 docker-compose up 或其他 docker-compose 命令时,它会在当前目录下查找 docker-compose.yml 文件。
    • 如果找不到该文件,或者找到的文件格式不正确,docker-compose 将无法正常工作。
  • 路径的重要性:
    • 因此,您必须在包含 docker-compose.yml 文件的目录下执行 docker-compose 命令。
    • 通过 cd C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube 命令,您将当前工作目录更改为 docker-compose.yml 文件所在的目录,从而确保 docker-compose 能够找到并使用该文件。
  • 如果不在正确路径下运行:
    • 如果您在其他目录下运行 docker-compose up -d,您会遇到以下几种情况:
      • 如果当前目录没有 docker-compose.yml 文件,docker-compose 会报错,提示找不到配置文件。
      • 如果当前目录有其他 docker-compose.yml 文件,docker-compose 会使用该文件,但结果可能不是您期望的。
  • 细节补充:
    • 环境变量:
      • 虽然 docker-compose 主要依赖于当前目录下的 docker-compose.yml 文件,但它也会读取一些环境变量,例如 DOCKER_HOSTCOMPOSE_FILE
      • COMPOSE_FILE环境变量,可以指定docker-compose文件的路径,这样在任何路径下,都可以运行docker-compose命令。
    • 项目结构:
      • 在复杂的项目中,可能会有多个 docker-compose.yml 文件,分别用于不同的环境(例如,开发、测试、生产)。
      • 在这种情况下,您需要确保在正确的目录下运行 docker-compose 命令,或者使用 -f 选项指定要使用的 docker-compose.yml 文件。
    • 相对路径:
      • docker-compose.yml 文件中使用的路径可以是相对路径。
      • 这些相对路径是相对于 docker-compose.yml 文件所在的目录。
      • 所以,如果改变了当前路径,那么docker-compose.yml文件中的相对路径也会发生改变。
    • docker-compose的配置文件名字
      • docker-compose的配置文件,默认使用docker-compose.yml。
      • 如果你的配置文件名字不是这个,那么就需要使用-f参数,指定配置文件的名字。

6.修改端口或其他配置内容

image.png

1. 修改端口号:

  • 场景:
    • 您想将 TubeTube Web 界面从 6543 端口修改为 8080 端口。
  • 操作步骤:
    1. 编辑 docker-compose.yml 文件:
      • 打开 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube\docker-compose.yml 文件。
      • 找到 ports 部分,将 6543:6543 修改为 8080:6543
        • 8080 是您希望在主机上使用的端口。
        • 6543 是容器内部 TubeTube Web 界面监听的端口(通常不需要修改)。
    1. 保存文件。
    2. 重新启动 Docker 容器:
      • 打开命令提示符或 PowerShell,导航到 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube 目录。
      • 运行以下命令:
        • docker-compose down
        • docker-compose up -d
    1. 访问修改后的端口:
      • 在浏览器中输入 http://localhost:8080

重要提示:

  • 在修改 docker-compose.yml 文件后,必须重新启动 Docker 容器才能使更改生效。
  • 在修改任何配置文件之前,建议备份原始文件。
  • 请仔细阅读 TubeTube 的文档,了解可用的配置选项和环境变量。

http://www.kler.cn/a/596234.html

相关文章:

  • STT-MRAM CIM 赋能边缘 AI:高性能噪声鲁棒贝叶斯神经网络宏架构详解
  • 日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(25):解释说明:という
  • 手动集成sqlite的方法
  • SpringSecurity配置(自定义认证过滤器)
  • Oracle转化为MySQL数据库
  • 当下主流 AI 模型对比:ChatGPT、DeepSeek、Grok 及其他前沿技术
  • cfca 申请国密证书流程
  • 面试总结之Android Bitmap 深度解析与性能优化
  • 第9章:Docker Compose企业级多容器编排
  • 19.课程发布-freeMarker
  • 读取Table的结构转换为Model类
  • kOps + Karpenter 集成实践:实现 K8s 集群的动态扩展
  • [Vue]条件渲染
  • Python 应用部署云端实战指南 —— AWS、Google Cloud 与 Azure 全解析
  • 基于香橙派 KunpengPro学习CANN(2)——Ascend Extension for PyTorch 配置与安装
  • docker搭建云盘
  • 说一下yolo的一些概念 和 自己对 置信度阈值 和图像处理模板匹配的理解
  • 如何把全局坐标系转到机器人本体坐标系
  • Android数据加密方案
  • 深入解析计算机组成原理:从硬件架构到程序运行的本质