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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 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系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
84 30
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
课时5:阿里云容器服务:最原生的集成Docker和云服务
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
398 15
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
360 78
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
231 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
112 8
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
222 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
385 11

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等