本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

pbnh Docker 镜像下载 - 轩辕镜像

pbnh 镜像详细信息和使用指南

pbnh 镜像标签列表和版本信息

pbnh 镜像拉取命令和加速下载

pbnh 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

pbnh
tucked/pbnh

pbnh 镜像详细信息

pbnh 镜像标签列表

pbnh 镜像使用说明

pbnh 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

pbnh是一个内容寻址的Pastebin(文本分享服务),结合pb和haste的特点,基于pb项目开发,支持语法高亮(CodeMirror)、Asciicast渲染(asciinema player)及Font Awesome图标等功能。
0 次下载activetucked镜像

pbnh 镜像详细说明

pbnh 使用指南

pbnh 配置说明

pbnh 官方文档

pbnh

镜像概述和主要用途

pbnh是一个内容寻址的Pastebin(文本分享服务),高度借鉴了silverp1和buhman的项目pb。它允许用户分享和存储文本内容,并通过内容寻址确保数据的唯一性和可访问性,适用于开发者分享代码片段、终端操作记录等场景。

核心功能和特性

  • 语法高亮:集成CodeMirror,支持多种编程语言的语法高亮显示
  • Asciicast渲染:通过asciinema player渲染终端录制内容(Asciicast)
  • 图标支持:使用Font Awesome提供丰富的图标资源
  • 内容寻址存储:基于内容寻址的存储方式,确保数据唯一性

使用场景和适用范围

适用于需要快速分享文本内容的场景,如:

  • 开发者分享代码片段或配置文件
  • 展示终端操作记录(通过Asciicast)
  • 团队协作中共享临时文本信息
  • 个人记录和分享各类文本内容

详细使用方法和配置说明

部署

预构建镜像可在Docker Hub获取:

sh
docker pull tucked/pbnh:latest

![Docker Image Size]([***]

配置

部署前需创建配置文件,指定应用运行参数:

sh
编辑 sample_config.yml

核心配置项

  • SQLALCHEMY_DATABASE_URI:必须设置,指定数据库连接URI。支持SQLAlchemy支持的所有方言,目前已测试SQLite和PostgreSQL,不支持内存数据库

若配置不正确,服务器将产生类似以下错误:

[2023-02-28 07:07:03 +0000] [6] [WARNING] [Errno 2] Unable to load configuration file (No such file or directory): '/etc/pbnh.yaml'
[2023-02-28 07:07:03 +0000] [6] [ERROR] SQLALCHEMY_DATABASE_URI is not set in the config.
Failed to find application object: 'create_app(check_db=True)'
[2023-02-28 07:07:03 +0000] [6] [INFO] Worker exiting (pid: 6)
[2023-02-28 07:07:03 +0000] [1] [INFO] Shutting down: Master
[2023-02-28 07:07:03 +0000] [1] [INFO] Reason: App failed to load.
WSGI配置

项目使用Gunicorn作为WSGI服务器,可将Gunicorn配置文件通过绑定挂载到/pbnh/gunicorn.conf.py。配置详情参考Gunicorn配置文档。

初始化

以下以SQLite数据库为例演示初始化流程:

  1. 在配置文件中设置数据库连接:

    yaml
    SQLALCHEMY_DATABASE_URI: sqlite:////pbnh/tmpdb.sqlite
    
  2. 创建数据库文件并设置容器用户可编辑权限:

    sh
    touch paste.sqlite
    chmod 666 paste.sqlite
    
  3. 初始化数据库:

    sh
    docker run --interactive --tty \
        --volume "$PWD/sample_config.yml:/etc/pbnh.yaml:ro" \
        --volume "$PWD/paste.sqlite:/pbnh/tmpdb.sqlite" \
        tucked/pbnh:latest pipenv run flask --app pbnh db init
    

初始化错误处理:若数据库未正确初始化,服务器将产生类似以下错误:

[2023-04-16 19:04:26 +0000] [7] [ERROR] (sqlite3.OperationalError) no such table: paste
[SQL: SELECT paste.id AS paste_id, paste.hashid AS paste_hashid, ...]
[parameters: ('Has the database been initialized?', 1, 0)]
(Background on this error at: [***]

此时容器会继续运行,可通过以下命令进入容器完成初始化:

sh
docker ps  # 获取容器名称或ID
docker exec "$container_name_or_ID" pipenv run flask --app pbnh db init

启动应用

完成配置和初始化后,启动应用:

sh
docker run --interactive --tty \
    --volume "$PWD/sample_config.yml:/etc/pbnh.yaml:ro" \
    --volume "$PWD/paste.sqlite:/pbnh/tmpdb.sqlite" \
    --publish ***:8000 \
    tucked/pbnh:latest

启动后在浏览器访问 http://localhost:***/ 即可使用。

生产环境注意事项:建议在应用前部署反向代理(如nginx),详情参考Flask部署文档。

使用详情

部署后可通过访问 /about 页面(或查看about.md)获取完整使用说明。若发现bug、有疑问或需请求功能,可提交issue。

开发

项目仓库托管在GitHub:

sh
git clone [***]

![GitHub Repo Size]([***]

构建

使用docker本地构建镜像:

sh
docker build --tag pbnh:dev .

或使用 bin/run.sh 脚本构建并运行开发实例。

测试

通过docker-compose.test.yml中的sut(被测系统)服务运行测试:

sh
docker compose -f docker-compose.test.yml run sut

此模式兼容Docker Hub自动化仓库测试。

或使用 bin/test.sh 脚本(成功运行后会自动清理测试环境)。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"