当前位置: 首页 > news >正文

有趣的Docker

👉【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中
【腾讯云】云服务器、云数据库、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 第一步&#xff0c;导入依赖 <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 应用中一个专门为状态管理而设计的库&#xff0c;它基于 Fluts 和 Redux 的模式。Vuex 提供了一种集中式存储管理所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。以下是 Vuex 的理解及使用场景&#xff1a; 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、相机分类 图像颜色不同可以分为黑白相机和彩色相机&#xff1a;相同分辨率下&#xff0c;黑白工业相机相比彩色工业相机精度更高&#xff0c;检测图像边缘时&#xff0c;黑白工业相机成像效果更好。 芯片类型不同可以分为CCD相机和CMOS相机&#xff1a;CCD工业相机具有体积小…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...