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

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓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 的文档,了解可用的配置选项和环境变量。
相关文章
|
2天前
|
Ubuntu Linux Docker
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
51 27
|
7天前
|
弹性计算 Java Maven
从代码到容器:Cloud Native Buildpacks技术解析
Cloud Native Buildpacks(CNB)是一种标准化、云原生的容器镜像构建系统,旨在消除手动编写Dockerfile,提供可重复、安全且高效的构建流程。它通过分层策略生成符合OCI标准的镜像,实现应用与基础镜像解耦,并自动化依赖管理和更新。阿里云应用管理支持通过CNB技术一键部署应用至ECS,简化构建和运行流程。
|
26天前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
86 16
|
30天前
|
存储 开发工具 开发者
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
71 12
|
24天前
|
安全 API 算法框架/工具
大模型文件Docker镜像化部署技术详解
大模型文件Docker镜像化部署技术详解
176 2
|
1月前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
1月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
132 30
|
1月前
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
2月前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
514 15
|
4月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
412 78