当前位置: 首页 > 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工业相机具有体积小…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...