有趣的Docker
👉【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中
1. Docker 上的“全世界”命令行
- 你可以在 Docker 容器中运行一个模拟的 “世界地图”,并通过命令行与它互动。这是一个非常有趣的项目,结合了命令行和图形界面的交互。
项目链接: globe-cli
你可以通过 Docker 拉取这个项目,并在命令行中运行:
docker run -it --rm jessfraz/globe-cli
它会展示一个 3D 地球,允许你在不同的地点切换、查看世界上的不同城市或地点,像个命令行版本的 Google Earth。
2. 搭建自己的音乐流媒体服务器:Navidrome
- Navidrome 是一个开源的音乐流媒体服务器,你可以通过 Docker 快速部署它。这个项目可以让你把自己收藏的音乐库转变为一个可以随时在线收听的流媒体平台,功能类似 Spotify,但完全由你掌控。
项目链接: Navidrome
只需要一个命令,你就可以在 Docker 上启动 Navidrome:
docker run -d -p 4533:4533 -v /path/to/music:/music -v /path/to/navidrome/config:/config deluan/navidrome
你可以访问 http://localhost:4533 来访问你的个人音乐流媒体平台。
3. 在 Docker 中运行 RetroArch 模拟器
- 如果你喜欢复古游戏,RetroArch 是一个支持多种游戏机模拟器的工具,允许你在一个平台上运行经典的街机、任天堂、PlayStation 等游戏。你可以通过 Docker 快速启动 RetroArch,回味那些经典的游戏。
项目链接: RetroArch Docker Image
运行命令:
docker run -it --rm -p 8080:8080 retroarch/retroarch
启动后,你可以通过浏览器访问你的 RetroArch 实例,开始玩经典游戏。
4. Docker 上的家庭自动化平台:Home Assistant
- 你可以将你的家居设备和传感器接入到 Docker 容器中,运行 Home Assistant,并将其用作家庭自动化平台。它支持几乎所有智能家居设备,可以让你通过 Docker 管理和自动化家居设备。
项目链接: Home Assistant
启动命令:
docker run -d -p 8123:8123 --name home-assistant --restart=unless-stopped homeassistant/home-assistant
访问 http://localhost:8123 后,你可以开始设置自动化规则,连接传感器和设备,甚至创建智能场景。
5. Docker 中运行一个图像生成艺术项目
- DeepArt 或者类似的项目可以通过 AI 和深度学习技术生成艺术作品。你可以将一些样本图像输入 AI 模型,让它创作出不同风格的艺术作品,比如梵高风格的画作。使用 Docker,你可以轻松运行这些项目。
项目链接: DeepArt
你只需要拉取 Docker 镜像并启动容器,输入一张照片,然后看 AI 如何将其转化为艺术作品:
docker run --rm -v $(pwd)/input:/input -v $(pwd)/output:/output fast-neural-style python eval.py --checkpoint model.pth --in-path /input --out-path /output
6. Docker + 图形界面:在容器中运行桌面应用
- 你可以在 Docker 容器中运行完整的桌面环境,甚至运行一些 GUI 应用。比如,你可以运行 VLC 媒体播放器 或 GIMP 图像编辑软件,并通过远程桌面协议 (RDP) 或 VNC 来访问容器中的 GUI。
项目链接: docker-desktop
例如,要运行带有 VNC 的 Ubuntu 桌面环境:
docker run -d -p 5901:5901 dorowu/ubuntu-desktop-lxde-vnc
启动后,你可以通过 VNC 客户端连接到 localhost:5901,并开始使用完整的图形桌面。
7. Docker 上的 Joke API:玩笑生成器
- 想要一份笑料吗?可以在 Docker 中运行 JokeAPI,它会定期生成笑话并通过 API 返回。这个项目既有趣又有创意,你可以通过 Docker 启动一个笑话生成器,甚至可以将其集成到你的应用程序中。
项目链接: JokeAPI
启动命令:
docker run -d -p 5000:5000 sv443/jokeapi
之后,你可以访问 http://localhost:5000/joke,每次刷新都会显示不同的笑话。
8. 在 Docker 中创建自己的论坛
- 使用 Docker 部署 Discourse,一个开源论坛平台,允许你快速创建一个自己的社区论坛。这是一个非常适合小型团队或社区的有趣项目,你可以用它来讨论技术、分享兴趣或其他任何话题。
项目链接: Discourse
通过 Docker 启动 Discourse:
docker run -d -p 80:80 discourse/discourse
然后,你就可以访问你的论坛并开始与朋友或同事互动。
9. Docker 上的 AI 聊天机器人
- 你可以运行一个 AI 聊天机器人,在 Docker 中测试 GPT 等模型,进行对话生成,甚至让它成为你博客或网站的一部分。通过 Docker,你可以快速搭建聊天机器人并与之进行有趣的对话。
项目链接: GPT-3 Docker
启动并运行 AI 聊天机器人:
docker run -d -p 5000:5000 gpt-3-chatbot
10. Docker + 博客平台:Ghost
- Ghost 是一个简单易用的博客平台,你可以使用 Docker 快速启动一个个人博客系统,发布你的文章、分享你的思想。
项目链接: Ghost
启动命令:
docker run -d -p 2368:2368 --name ghost -v /path/to/content:/var/lib/ghost/content ghost
你可以访问 http://localhost:2368 来编辑和发布博客。
相关文章:

有趣的Docker
👉【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中 1. Docker 上的“全世界”命令行 你可以在 Docker 容器中运行一个模拟的 “世界地图”,并通过命令行与它互动。这是一个非常有趣的项目,结合了命令行和图形界面的交互。…...
深入探讨锁升级问题
1. 引言 本文深入探讨锁升级问题。 2. 锁升级问题概述 2.1 锁升级的概念 2.1.1 定义 锁升级是指数据库管理系统将较低粒度的锁(如行级锁)转换为较高粒度的锁(如表级锁)的过程。这种情况通常发生在事务对同一对象的多个较低粒…...

MySQL篇—通过官网下载linux系统下多种安装方式的MySQL社区版软件
💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…...

6.824/6.5840(2024)环境配置wsl2+vscode
本文是经过笔者实践得出的最速の环境配置 首先,安装wsl2和vscode 具体步骤参见Mit6.s081环境配置踩坑之旅WSL2VScode_mit6s081-CSDN博客 接下来开始为Ubuntu(笔者使用的版本依然是20.04)配置go的相关环境 1、更新Ubuntu的软件包 sudo apt-get install build-es…...

【乐企文件生成工程】搭建docker环境,使用docker部署工程
1、自行下载docker 2、自行下载docker-compose 3、编写Dockerfile文件 # 使用官方的 OpenJDK 8 镜像 FROM openjdk:8-jdk-alpine# 设置工作目录 WORKDIR ./app# 复制 JAR 文件到容器 COPY ../lq-invoice/target/lq-invoice.jar app.jar # 暴露应用程序监听的端口 EXPOSE 1001…...

常见的数据结构---队列、树与堆的深入剖析
目录 一、队列 二、树 三、堆 在现代计算机科学与工程领域,队列、树和堆是三种极其重要的基础数据结构,它们各自具有独特的特点和应用。在日常开发中,合理选择和使用这些数据结构可以显著提高程序的效率和可维护性。它们不仅奠定了算法设计…...

leetcode--螺旋矩阵
LCR 146.螺旋遍历二维数组 给定一个二维数组 array,请返回「螺旋遍历」该数组的结果。 螺旋遍历:从左上角开始,按照 向右、向下、向左、向上 的顺序 依次 提取元素,然后再进入内部一层重复相同的步骤,直到提取完所有元…...

JavaScript(JS)的对象
目录 1.array 数组对象 2.String 字符串对象 3.JSON 对象(数据载体,进行数据传输) 4.BOM 浏览器对象 5.DOM 文档对象(了解) 1.array 数组对象 定义方式1:var 变量名 new Array(元素列表); 定义方式…...

基于BM1684的AI边缘服务器-模型转换,大模型一体机
介绍 我们属于SoC模式,即我们在x86主机上基于tpu-nntc和libsophon完成模型的编译量化与程序的交叉编译,部署时将编译好的程序拷贝至SoC平台(1684开发板/SE微服务器/SM模组)中执行。 注:以下都是在Ubuntu20.04系统上操…...
git推送多个仓库
在 Git 中,可以通过添加多个远程仓库来实现一次 git push 推送到多个仓库,比如同时推送到 Gitee 和 GitHub。以下是详细的设置步骤: 1. 添加多个远程仓库 假设你的项目已经有一个远程仓库(例如 GitHub),你…...

Matlab mex- setup报错—错误使用 mex,未检测到支持的编译器...
错误日志: 在使用mex编译时报错提示:错误使用 mex,未检测到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问https://www.mathworks.com/support/compile…...
PostgreSQL认证培训需要什么条件
PostgreSQL认证培训通常没有严格的前置条件,但以下几点可以帮助你更好地准备和通过认证考试: 1、基础知识:具备基本的数据库知识和经验,特别是对SQL有一定的了解。如果你Oracle、MySQL等基础知识,对对你学习PostgreSQ…...
Oracle—系统包使用
文章目录 系统包dbms_redefinition 系统包 dbms_redefinition 功能介绍:该包体可以实现将Oracle库下的表在线改为分区结构或者重新定义; 说明:在检查表是否可以重定义和开始重定义的过程中,按照表是否存在主键,参数 o…...

【排序用法】.NET开源 ORM 框架 SqlSugar 系列
💥 .NET开源 ORM 框架 SqlSugar 系列 🎉🎉🎉 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…...
【SpringBoot】整合篇
1、log4j2 第一步,导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions><!-- 去掉springboot默认配置 --> <exclusion> <…...
写入json和读取json文件
/// <summary> ///写入文件 /// </summary> /// <param name"Stns"></param> /// <returns></returns> public ActionResult WriteJsonFile(string Stns) { strin…...
Vuex的理解及使用场景
Vuex 是 Vue.js 应用中一个专门为状态管理而设计的库,它基于 Fluts 和 Redux 的模式。Vuex 提供了一种集中式存储管理所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。以下是 Vuex 的理解及使用场景: Vuex 的理解 核心概…...
PostGis学习笔记
– 文本方式查看几何数据 SELECT ST_AsText(geom)FROM nyc_streets WHERE name ‘Avenue O’; – 计算紧邻的街区 SELECT name,ST_GeometryType(geom) FROM nyc_streets WHERE ST_DWithin( geom,ST_GeomFromText(‘LINESTRING(586782 4504202,586864 4504216)’,26918),0.1); …...
Qt 窗口类型、窗口标志和窗口属性
一、窗口类型 Qt 窗口标志枚举类型用于指定小部件的各种窗口系统属性。其中一些标志取决于底层窗口管理器是否支持它们。以下是窗口类型: Qt::QWidget:这是 QWidget 的默认类型。如果它们有父级,这种类型的部件是子部件,如果没有父控件,则为独立窗口。Qt::Window:通常具…...
相机学习笔记——工业相机的基本参数
0、相机分类 图像颜色不同可以分为黑白相机和彩色相机:相同分辨率下,黑白工业相机相比彩色工业相机精度更高,检测图像边缘时,黑白工业相机成像效果更好。 芯片类型不同可以分为CCD相机和CMOS相机:CCD工业相机具有体积小…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...