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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 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

2. 修改下载目录:

  • 场景:
  • 您想将下载的文件保存到不同的目录。
  • 操作步骤:
  1. 编辑 docker-compose.yml 文件:
  • 打开 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube\docker-compose.yml 文件。
  • 找到 volumes 部分,修改您想要更改的卷映射。
  • 例如,将 ./downloads/general:/data/General 修改为 /path/to/your/new/general:/data/General
  • /path/to/your/new/general 是您在主机上想要使用的目录。
  1. 在主机上创建新的下载目录。
  2. 保存文件。
  3. 编辑 settings.yaml 文件:
  • 打开 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube\config\settings.yaml 文件。
  • 修改对应的下载目录,和docker-compose.yml文件中的目录对应。
  1. 保存文件。
  2. 重新启动 Docker 容器:
  • 打开命令提示符或 PowerShell,导航到 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube 目录。
  • 运行以下命令:
  • docker-compose down
  • docker-compose up -d

3. 添加环境变量:

  • 场景:
  • 您想修改 TubeTube 的行为,例如启用详细日志。
  • 操作步骤:
  1. 编辑 docker-compose.yml 文件:
  • 打开 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube\docker-compose.yml 文件。
  • 找到 environment 部分,添加或修改环境变量。
  • 例如,添加 VERBOSE_LOGS=true 以启用详细日志。
  1. 保存文件。
  2. 重新启动 Docker 容器:
  • 打开命令提示符或 PowerShell,导航到 C:\Users\Administrator\Desktop\TubeTube-0.6.3\tubetube 目录。
  • 运行以下命令:
  • docker-compose down
  • docker-compose up -d

重要提示:

  • 在修改 docker-compose.yml 文件后,必须重新启动 Docker 容器才能使更改生效。
  • 在修改任何配置文件之前,建议备份原始文件。
  • 请仔细阅读 TubeTube 的文档,了解可用的配置选项和环境变量。
目录
打赏
0
21
21
0
56
分享
相关文章
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
70 30
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
掌握Docker容器化技术:从入门到实战
掌握Docker容器化技术:从入门到实战
69 0
Docker技术入门与实战
GitBookhttps://www.gitbook.com/book/yeasy/docker_practice/details pdf 版本 下载 epub 版本 下载
1828 0
《Docker技术入门与实战》——导读
在一台服务器上同时运行一百个虚拟机,肯定会被认为是痴人说梦。而在一台服务器上同时运行一千个Docker容器,这已经成为现实。在计算机技术高速发展的今天,昔日的天方夜谭正在一个个变成现实。
1711 0