
datacite/docker-handle本镜像为Handle Server的容器化版本,用于在Docker环境中快速部署和运行Handle系统。Handle系统是一个分布式命名系统,主要功能是创建、解析和管理持久化数字资源标识(Handles),确保数字资源(如文献、数据集、媒体文件等)的长期可访问性。通过Docker容器化,简化了Handle Server的安装、配置和跨环境部署流程。
bash# 拉取最新版本镜像(假设镜像仓库为handle-server) docker pull handle-server:latest # 或指定版本标签 docker pull handle-server:9.3.0
bashdocker run -d \ --name handle-server \ -p 8000:8000/tcp \ -p 8000:8000/udp \ -v handle-data:/opt/handle/data \ -v handle-config:/opt/handle/config \ -e ADMIN_EMAIL="***" \ -e SERVER_NAME="handle.example.com" \ handle-server:latest
-p 8000:8000/tcp:映射Handle服务器TCP端口(用于客户端请求)-p 8000:8000/udp:映射Handle服务器UDP端口(用于服务器间通信)-v handle-data:/opt/handle/data:挂载数据卷,持久化Handle记录存储-v handle-config:/opt/handle/config:挂载配置卷,持久化服务器配置文件-e ADMIN_EMAIL:管理员***(用于系统通知和证书配置)-e SERVER_NAME:服务器域名或IP(用于生成服务器标识)| 环境变量名 | 描述 | 默认值 |
|---|---|---|
ADMIN_EMAIL | 服务器管理员*** | admin@localhost |
SERVER_NAME | 服务器域名/IP | localhost |
HANDLE_PORT | 服务端口 | 8000 |
STORAGE_TYPE | 存储后端类型(file/bdb/mysql) | file |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO |
MAX_CONCURRENT_REQUESTS | 最大并发请求数 | 100 |
如需自定义Handle Server核心配置(如handle-server.conf、siteinfo.xml),可将本地配置文件目录挂载至容器内/opt/handle/config:
bashdocker run -d \ --name handle-server \ -p 8000:8000/tcp -p 8000:8000/udp \ -v /path/to/local/config:/opt/handle/config \ -v handle-data:/opt/handle/data \ handle-server:latest
创建docker-compose.yml文件:
yamlversion: '3.8' services: handle-server: image: handle-server:latest container_name: handle-server restart: always ports: - "8000:8000/tcp" - "8000:8000/udp" environment: - ADMIN_EMAIL=*** - SERVER_NAME=handle.institution.example - STORAGE_TYPE=bdb - LOG_LEVEL=INFO volumes: - handle-config:/opt/handle/config - handle-data:/opt/handle/data - handle-logs:/opt/handle/logs networks: - handle-network volumes: handle-config: handle-data: handle-logs: networks: handle-network: driver: bridge
启动服务:
bashdocker-compose up -d
部署完成后,通过以下方式验证服务运行状态:
docker logs -f handle-server,确认无错误信息(注:首次部署需先创建测试Handle标识)bashhdl-resolve -s http://localhost:8000 *****123
netstat -tulpn | grep 8000,确认TCP/UDP端口已监听volumes)确保数据不丢失handle-data卷数据,防止数据损坏MAX_CONCURRENT_REQUESTS等性能参数manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务