Docker能跑些什么呢?第三期

embedded/2025/1/11 14:10:23/

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

下面继续给大家介绍一些Docker项目。有兴趣的小伙伴可以自己折腾一下(毕竟生命不息,折腾不止)。

搜索关注,分享更多有趣的知识。
在这里插入图片描述

Stirling-PDF

简介

Stirling-PDF 是一个本地托管的 Web 应用程序,允许个人对 PDF 文件执行各种操作,例如拆分和添加图像。目前 Stirling-PDF 还是 100% 基于 ChatGPT 制作的应用程序,随着更多功能的添加,才会慢慢地远离 ChatGPT。

GitHub:https://github.com/Stirling-Tools/Stirling-PDF

官网:https://stirlingpdf.io/?lang=zh_CN

软件特点

  • 将 PDF 拆分为指定页码的多个文件,或将所有页面提取为单个文件;
  • 将多个 PDF 合并为一个结果文件;
  • 将 PDF 与图像相互转换;
  • 将 PDF 页面重新组织成不同的顺序;
  • 在指定位置将图像添加到 PDF;
  • 以 90 度为基础旋转 PDF;
  • 压缩 PDF 以减小文件大小;

软件截图

image-20241218175035368

安装

使用Docker Run

1、下载

docker pull   frooodle/s-pdf:latest

2、运行命令

docker run -d \-p 8380:8080 \-v /location/of/trainingData:/usr/share/tessdata \-v /location/of/extraConfigs:/configs \-v /location/of/logs:/logs \-e DOCKER_ENABLE_SECURITY=false \-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \-e LANGS=en_GB \--name stirling-pdf \frooodle/s-pdf:latest

也可添加这个内容进行指定路径挂载,但不是必需的

-v /location/of/customFiles:/customFiles \
使用Docker compose

创建并编辑一个 docker-compose.yaml 文件

vim docker-compose.yaml

内容如下:

version: '3.3'
services:stirling-pdf:image: frooodle/s-pdf:latestports:- '8380:8080'volumes:- /location/of/trainingData:/usr/share/tessdata- /location/of/extraConfigs:/configs
#      - /location/of/customFiles:/customFiles/
#      - /location/of/logs:/logs/environment:- DOCKER_ENABLE_SECURITY=false- INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false

运行

docker compose up -d

打开浏览器,输入localhost:8380 (端口与前面安装一致)

img

这里面很多核心的office相关的,都是用的LibreOffice的功能,也就是说如果你不高兴这么烦,也可以安装个LibreOffice,效果应该也是一样。

工具毕竟是有限的,有些效果还是不可能很完美。

HivisionIDPhotos

简介

HivisionIDPhotos是一款开源的图片处理工具,可以利用AI模型对照片进行轻量级智能抠图、调整尺寸生成不同的标准证件照、替换背景、美颜、智能换正装等操作。有了它,自己在家也能轻松搞定证件照,不用非得去照相馆或者某宝找人弄了,而且在本地部署,无需担心个人信息泄露。

GitHub:https://github.com/Zeyi-Lin/HivisionIDPhotos

官网:https://swanhub.co/ZeYiLin/HivisionIDPhotos

image-20241218182123421

安装

1. 拉取或构建镜像

以下方式三选一

方式一:拉取最新镜像:

docker pull linzeyi/hivision_idphotos

方式二:Dockrfile 直接构建镜像:

在确保将至少一个抠图模型权重文件放到hivision/creator/weights下后,在项目根目录执行:

docker build -t linzeyi/hivision_idphotos .

方式三:Docker compose 构建:

在确保将至少一个抠图模型权重文件放到hivision/creator/weights下后,在项目根目录下执行:

docker compose build
docker run -d -p 7860:7860 linzeyi/hivision_idphotos
2. 运行服务

启动 Gradio Demo 服务

运行下面的命令,在你的本地访问 http://127.0.0.1:7860 即可使用。

docker run -d -p 7860:7860 linzeyi/hivision_idphotos

启动 API 后端服务

docker run -d -p 8080:8080 linzeyi/hivision_idphotos python3 deploy_api.py

两个服务同时启动

docker compose up -d

启动完成后,我们可以在浏览器中输入:localhost:7860

接下来就可以在web页面中使用HivisionIDPhotos来制作证件照啦!

lmage-Matting

简介

lmage-Matting 是来自 GitHub 的一款免费、开源、无广告的,本地运行的基于AI的抠图应用。它简单好用,抠图效果好,目前支持Windows、MacOS 等平台。

它的主要功能有:

  • AI抠图:自动识别图片主体进行抠图,支持批量抠图 需要更多算力),支持JPG、PNG、GIF、WEBP、BMP 等格式的图片。
  • 证件照:AI抠图功能的延伸,抠图完成后可以选择主体的背景色,生成相当不错的证件照 支持各种尺寸。
  • 图片格式转换:支持 PNG、JPEG、GIF、BMP、WEBP、ICO、ICNS、TIFF、PDF 等格式图片的互转。

GitHub:https://github.com/ihmily/image-matting

官方提供的效果图如下:

image-1

安装:

1.从源代码运行

首先,您需要下载项目代码并安装所需的依赖项。

# Python 3.10git clone https://github.com/ihmily/image-matting.git
cd image-matting
pip install -r requirements.txt

接下来,使用以下命令运行 Web 界面。

python app.py
2.Docker运行

拉取 Docker 镜像。

docker pull ihmily/image-matting:latest

拉取镜像后,运行容器

docker run -p 8000:8000 ihmily/image-matting:latest

或者,您也可以自己构建映像。

docker build -t image-matting:latest .
docker run -p 8000:8000 image-matting:latest
3.API调用

请在使用 API 之前运行

文件上传

import requestsserver = "http://127.0.0.1:8000"
image_path = "image.png"
model_name = "universal"  # people,universal
files = {"image": (image_path, open(image_path, "rb"))}
data = {"model": model_name}
response = requests.post(server+'/matting', files=files, data=data)
print(response.text)
json_data = response.json()
image_url = json_data['result_image_url']
mask_url = json_data['mask_image_url']
print("image_url:", server + image_url)
print("mask_url:", server + mask_url)

URL 上传

import requestsserver = "http://127.0.0.1:8000"
image_url = "http://your-image-url/demo.png"
data = {"image_url": image_url, "model": "universal"}  # people,universal
response = requests.post(server+'/matting/url', json=data)
print(response.text)
json_data = response.json()
image_url = json_data['result_image_url']
mask_url = json_data['mask_image_url']
print("image_url:",server+image_url)
print("mask_url:",server+mask_url)

您可以从上面自由选择要上传的方法。如果要获得裁剪后的抠图,可以调用 function。crop_image_by_alpha_channel

好啦!以上就是我常用的比较实用小众但又好玩的容器啦,如果你需要的话,也可以跟着搭建看看,操作还是蛮简单的。


http://www.ppmy.cn/embedded/153028.html

相关文章

数据挖掘实训:基于CEEMDAN与多种机器学习模型股票预测与时间序列建模

股票市场的预测是金融领域中的一个重要研究方向,尤其是如何通过历史数据预测未来股价。这篇博客将带你走进如何通过多种方法,如CEEMDAN(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise)分解技术与机器学习模…

腾讯云AI代码助手编程挑战赛-知识百科AI

作品简介 知识百科AI这一编程主要用于对于小朋友的探索力的开发,让小朋友在一开始就对学习具有探索精神。在信息化时代下,会主动去学习自己认知以外的知识,同时丰富了眼界,开拓了新的知识。同时催生了在大数据时代下的信息共享化…

Ubuntu 22.04 桥接配置

1. 网卡配置文件备份 sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak 1.1 静态ip配置 1.1.3 解释 network: version: 2 ethernets: # 网卡名称 使用ifconfig查看 ens33: dhcp4: false dhcp6: false …

语音实战(一)中文语音识别

一、下载文件 from datasets import load_datasetname mozilla-foundation/common_voice_16_0 load_dataset(name, zh-CN, splittrain).save_to_disk(dataset/ name) from transformers import Wav2Vec2BertForCTCname lansinuote/Chinese_Speech_to_Text_CTC Wav2Vec2BertF…

毕业设计-模拟闯红灯的抓拍系统

1 前言 随着城市化进程的加速,交通安全问题日益凸显。闯红灯作为一种常见的交通违法行为,不仅严重威胁道路交通安全,还容易引发交通事故。为了有效遏制闯红灯行为,提高公众的交通安全意识,本文提出了一种模拟闯红灯抓…

【HTML+CSS+JS+VUE】web前端教程-25-关系选择器

关系选择器分类 后代选择器 子代选择器 相邻兄弟选择器 通用兄弟选择器 <!DOCTYPE html> <html lang="en">

NAT 代理服务器

文章目录 1. NAT2. 内网穿透3. 内网打洞4. 代理服务器正向代理服务器反向代理服务器 5. DNS6. ICMP7.测试内网穿透 1. NAT 在ip协议章节&#xff0c;我们说报文转发给路由器时&#xff0c;由于私有IP地址不能出现在公网中&#xff0c;路由器会将报文源IP地址替换为路由器的WAN…

概率论常用的分布公式

01 常见离散型分布及其概率分布、期望和方差公式 伯努利分布 概率分布&#xff1a;期望&#xff1a; E(X)p方差&#xff1a;D(X)p(1−p) 二项分布 概率分布&#xff1a;期望&#xff1a;E(X)np方差&#xff1a; D(X)np(1−p) 表示方法&#xff1a;X∼B(n,p) 泊松分布 概率分布…