自学软硬件第755 docker容器虚拟化技术

见字如面,

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

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

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

写作背景

今天在剪视频,然后看到YouTube上有好的参考创意。之前夏YouTube视频的方法失效了,然后在X上找到了一个 github项目。

https://github.com/MattBlackOnly/TubeTube

但是和之前直接 git clong 安装使用不一样,这一次 readme中内容我看不太懂。于是乎,有了今天的研究。

当然要注意的是 冥冥之中有天意,我在2022年底追chatgpt项目的时候,当时有潘多拉项目,已经接触到了docker工具,只是理解不透彻。(我说的这么详细,不是炫耀什么,意思是咱们小白 要多学习,多练习,技术都是相通的说不定后面就有用)

今天在gemini的协助下,对docker容器虚拟化技术有了更深入的理解。

image.png

阅读目录:

  1. 写作背景
  2. 知识拓展
  3. 具体操作
    1. 首先安装docker desktop
    2. 新建文件夹tubetube
    3. tubetube 文件夹中,创建一个名为 docker-compose.yml 的文件。
    4. 将以下内容复制并粘贴到 docker-compose.yml 文件中(代码看具体操作部分)
    5. tubetube 文件夹中,创建一个名为 config 的文件夹。
    6. config 文件夹中,创建一个名为 settings.yaml 的文件。
    7. 将以下内容复制并粘贴到 settings.yaml 文件中(代码看具体操作部分)
    8. 创建下载文件夹
    9. tubetube 文件夹中,创建 downloads 文件夹。
    10. downloads 文件夹中,创建 generalmusicpodcastsvideos 文件夹。
    11. 启动 Docker 容器
    12. 打开终端或命令提示符
    13. 导航到项目目录 ,docker-compose.yml所存在的目录,使用 cd 命令导航到 tubetube 文件夹。
    14. 启动 Docker Compose
    15. 运行以下命令来启动 TubeTube 容器docker-compose up -d
    16. 访问 TubeTube 在您的 Web 浏览器中,输入以下地址并按 Enter  http://localhost:6543
    17. 使用 TubeTube

知识拓展

1.docker-compose up -d 命令详解

  • docker-compose
    • 这是一个用于定义和运行多容器 Docker 应用程序的工具。
    • 它使用 docker-compose.yml 文件来配置应用程序的服务、网络和卷。
  • up
    • 这个子命令用于创建和启动 docker-compose.yml 文件中定义的所有服务。
    • 它会按照配置文件中的顺序启动容器,并处理容器之间的依赖关系。
  • -d
    • 这个选项表示“detached”(分离)模式。
    • 在分离模式下,Docker Compose 会在后台运行容器,而不会占用当前的终端窗口。
    • 这意味着您可以继续在终端中执行其他命令,而容器仍在运行。

image.png

具体操作

TubeTube 项目并不是一个“即开即用”的软件,它需要您进行一些配置才能正常运行。

前提条件:

  • Git 和 GitHub: 您已经熟悉 Git 和 GitHub,可以克隆项目。
  • VS Code: 您已经安装了 VS Code。
  • Docker 和 Docker Compose: 您需要安装 Docker 和 Docker Compose。

步骤:

1:创建项目目录和文件
  1. 创建项目文件夹:
    • 在您的计算机上选择一个合适的位置,创建一个名为 tubetube 的文件夹(或者您喜欢的任何名称)。
  1. 创建 docker-compose.yml 文件:
    • tubetube 文件夹中,创建一个名为 docker-compose.yml 的文件。
    • 将以下内容复制并粘贴到 docker-compose.yml 文件中:
  1. services:tubetube:image: ghcr.io/mattblackonly/tubetube:latestcontainer_name: tubetubeports:- 6543:6543volumes:- ./downloads/general:/data/General- ./downloads/music:/data/Music- ./downloads/podcasts:/data/Podcast- ./downloads/videos:/data/Video- ./config:/config- ./temp:/temp # Optional. Temp files are deleted on startup.- /etc/localtime:/etc/localtime:ro # Optional. Sync time with host.- /etc/timezone:/etc/timezone:ro # Optional. Sync timezone with host.environment:- PUID=1000- PGID=1000- VERBOSE_LOGS=false- TRIM_METADATA=false- PREFERRED_LANGUAGE=en- PREFERRED_AUDIO_CODEC=aac- PREFERRED_VIDEO_CODEC=vp9- PREFERRED_VIDEO_EXT=mp4- EMBED_SUBS=false- WRITE_SUBS=false- ALLOW_AUTO_SUBS=false- SUBTITLE_FORMAT=vtt- SUBTITLE_LANGUAGES=en- THREAD_COUNT=4restart: unless-stopped
    • 注意:
  • ./downloads/general 等表示在 tubetube 文件夹中创建 downloads 文件夹,并在其中创建 generalmusicpodcastsvideos 文件夹。
    • ./config 表示在 tubetube 文件夹中创建 config 文件夹。
2.创建 settings.yaml 文件:
    • tubetube 文件夹中,创建一个名为 config 的文件夹。
    • config 文件夹中,创建一个名为 settings.yaml 的文件。
    • 将以下内容复制并粘贴到 settings.yaml 文件中:
  1. General:audio_ext: m4aaudio_format_id: '140'video_ext: mp4video_format_id: '625'
    Music:audio_ext: mp3audio_format_id: '140'
    Podcast:audio_ext: m4aaudio_format_id: '140'
    Video:audio_format_id: '140'video_ext: mp4video_format_id: '625'
3.创建下载文件夹:
    • tubetube 文件夹中,创建 downloads 文件夹。
    • downloads 文件夹中,创建 generalmusicpodcastsvideos 文件夹。
4.启动 Docker 容器
  1. 打开终端或命令提示符:
    • 在您的计算机上打开终端(macOS/Linux)或命令提示符(Windows)。
  1. 导航到项目目录:
    • 使用 cd 命令导航到 tubetube 文件夹。例如:Bash
cd /path/to/tubetube
  1. 启动 Docker Compose:
    • 运行以下命令来启动 TubeTube 容器:Bash
docker-compose up -d
    • -d 标志表示在后台运行容器。
5.访问 TubeTube
  1. 打开 Web 浏览器:
    • 在您的 Web 浏览器中,输入以下地址并按 Enter:
http://localhost:6543
    • 您应该能够看到 TubeTube 的 Web 界面。
6.使用 TubeTube
  1. 输入视频 URL:
    • 在 TubeTube 的 Web 界面中,输入您要下载的视频或音频的 URL。
  1. 选择下载选项:
    • 根据需要选择下载音频或视频。
  1. 开始下载:
    • 点击下载按钮。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/73751.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不可不知的分布式数据库-TiDB

不可不知的分布式数据库-TiDB 介绍TiDb架构TiDb与Mysql的区别功能特性性能表现数据可靠性运维管理成本 Docker部署TiDB1. 获取 TiDB 配置文件2. 启动 TiDB 集群3. 连接到 TiDB4. 停止和清理 TiDB 集群注意事项 实用案例TiDB实现分布式事务实现原理实现方式SQL 方式编程方式 注意…

20242817李臻《Linux⾼级编程实践》第四周

20242817李臻《Linux⾼级编程实践》第4周 一、AI对学习内容的总结 第5章 Linux进程管理 5.1 进程基本概念 进程与程序的区别 程序:静态的二进制文件(如/bin/ls),存储在磁盘中,不占用运行资源。进程:程…

基于 Prometheus + Grafana 监控微服务和数据库

以下是基于 Prometheus Grafana 监控微服务和数据库的详细指南&#xff0c;包含架构设计、安装配置及验证步骤&#xff1a; 一、整体架构设计 二、监控微服务 1. 微服务指标暴露 Spring Boot 应用&#xff1a; xml <!-- 添加 Micrometer 依赖 --> <dependency>…

使用GoogleNet实现对花数据集的分类预测

使用GoogleNet实现对花数据集的分类预测 1.作者介绍2.关于理论方面的知识介绍2.1GooLeNet的知识介绍2.2CNN发展阶段2.2GooLeNet创新模块 3.关于实验过程的介绍&#xff0c;完整实验代码&#xff0c;测试结果3.1数据集介绍3.2实验过程3.3实验结果 1.作者介绍 王海博, 男 , 西安…

流量密码破解:eBay店铺首页改版后的黄金展示位

流量密码破解&#xff1a;eBay店铺首页改版后的黄金展示位 近年来&#xff0c;跨境电商行业竞争日趋激烈&#xff0c;流量分配机制的调整成为平台卖家最为关注的核心议题之一。作为全球领先的在线电商平台&#xff0c;eBay的每一次页面优化都可能对卖家的经营策略产生深远影响…

从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!

我正在参加Trae「超级体验官」创意实践征文&#xff0c; 本文所使用的 Trae 免费下载链接&#xff1a; www.trae.ai/?utm_source… 前言 大家好&#xff0c;我是小Q&#xff0c;字节跳动近期推出了一款 AI IDE—— Trae&#xff0c;由国人团队开发&#xff0c;并且限时免费体…

Netty:java高性能网络编程的基石(下)

一、Netty是什么&#xff1f;为什么需要它&#xff1f; Netty是一个异步事件驱动的网络应用框架&#xff0c;基于Java NIO技术封装&#xff0c;用于快速开发高性能、高可靠性的网络服务器和客户端程序。作为当前最流行的NIO框架之一&#xff0c;支撑着Dubbo、RocketMQ、Elasti…

leetcode-47.全排列II

如何在有重复值的时候节省时间是优化重点。 基础写法肯定是按无重复值时的全排列写&#xff0c;在其中要加上防止走重复路径的分支。 能防止的也只有同层&#xff0c;如果同层走一个值&#xff0c;但是该值重复&#xff0c;且走过了&#xff0c;则放弃走该分支。所以设layer_u…

函数(函数的概念、库函数、自定义函数、形参和实参、return语句、数组做函数参数、嵌套调用和链式访问、函数的声明和定义、static和extern)

一、函数的概念 •C语⾔中的函数&#xff1a;⼀个完成某项特定的任务的⼀⼩段代码 •函数又被翻译为子函数&#xff08;更准确&#xff09; •在C语⾔中我们⼀般会⻅到两类函数&#xff1a;库函数 ⾃定义函数 二、库函数 1 .标准库和头文件 •C语⾔的国际标准ANSIC规定了⼀…

孜然SEO静态页面生成系统V1.0

孜然SEO静态页面生成系统&#xff0c;1秒生成上万个不同的静态单页系统&#xff0c;支持URL裂变采集&#xff0c;采集的内容不会重复&#xff0c;因为程序系统自带AI重写算法&#xff0c;AI扩写算法&#xff0c;可视化的蜘蛛池系统让您更清楚的获取到信息&#xff01; 可插入二…

Secs/Gem第一讲 · 总结精华版(基于secs4net项目的ChatGpt介绍)

好的&#xff01;这就是《第一讲 总结精华版》——为背诵准备的口述速成稿&#xff0c;适合面试前复习答题用。我们会分为两个部分&#xff1a; 第一部分&#xff1a;一整段口述稿&#xff0c;可以当成面试时开口自我介绍用&#xff1b;第二部分&#xff1a;要点清单关键词串…

预处理指令中#if 和 #endif的用法

在 C 语言中&#xff0c;#if 和 #endif 是预处理指令&#xff0c;用于条件编译。它们的核心作用是&#xff1a;根据预处理器能够识别的条件&#xff08;通常是宏定义或常量表达式&#xff09;&#xff0c;决定某段代码是否参与编译。 — 基本功能 #if 用于开启一个条件编译块…

【数据库】掌握MySQL事务与锁机制-数据一致性的关键

在数据库的世界里&#xff0c;数据就是一切。而确保数据的准确性和一致性&#xff0c;则是数据库系统的核心任务之一。想象一下&#xff0c;如果没有合适的机制&#xff0c;当多个用户同时试图修改同一条数据时&#xff0c;会发生什么&#xff1f; chaos&#xff08;混乱&#…

linux 基础网络配置文件

使用“ifconfig”命令查看网络接口地址 直接执行“iconfg”命令后可以看到ens33、10、virbr0这3个网络接口的信息&#xff0c;具体命令如下 ifconfig ##查看网络接口地址 ens33:第一块以太网卡的名称 lo:“回环”网络接口 virbr0:虚拟网桥的连接接口 查看指…

OpenCV特征提取与深度学习CNN特征提取差异

一、特征生成方式 ‌OpenCV传统方法‌ ‌手工设计特征‌&#xff1a;依赖人工设计的算法&#xff08;如SIFT、FAST、BRIEF&#xff09;提取图像中的角点、边缘等低层次特征&#xff0c;需手动调整参数以适应不同场景‌。‌数学驱动‌&#xff1a;基于梯度变化、几何变换等数学规…

五种方案实现双链路可靠数据传输

本文介绍五种双链路数据传输方案,目标是利用设备的多个传输通道,(如双有线网口,网口+wifi, 网口+5G等场景 , 网口+ 自组网, 自组网 + 5G等),将数据复制后分流、分路同时传输,以期提高数据传输可靠性,满足高可靠性传输的应用场景需求。部分方案给出了实际验证结果 。 …

【备赛】遇到的小问题-1

问题描述-1 想实现的功能是&#xff0c;通过ADC实时测量某引脚的电压及其占空比。 可以通过旋转电位器&#xff0c;更改其电压。 首先我定义了这几个变量 uint32_t adc_value;//HAL库函数里面得出的采样值(实时更新) uint32_t percentage6;//占空比&#xff0c;随着adc_val…

最大公约数

4.最大公约数 - 蓝桥云课 最大公约数 题目描述 给定两个正整数 A,B&#xff0c;求它们的最大公约数。 输入描述 第1行为一个整数 T&#xff0c;表示测试数据数量。 接下来的 T 行每行包含两个正整数 A,B。 1≤T≤105&#xff0c;1≤A,B≤109。 输出描述 输出共 T 行&…

TMHMM2.0-蛋白跨膜螺旋预测工具-centos-安装+配置+排错

参考&#xff1a; A. Krogh, B. Larsson, G. von Heijne, and E. L. L. Sonnhammer. Predicting transmembrane protein topology with a hidden Markov model: Application to complete genomes. Journal of Molecular Biology, 305(3):567-580, January 2001. centos&#x…

docker run 命令常用参数

docker run 命令 用于从镜像创建并启动一个新的容器。 基本语法&#xff1a; docker run [OPTIONS] IMAGE [COMMAND] [ARG...]常用选项分类说明 容器配置 --name 为容器指定名称&#xff08;默认随机生成&#xff09;。 示例&#xff1a; docker run --name my_container …