
pinetwork/pi-node-docker本项目提供一种简单方式,通过Docker将***-core和horizon整合到您的私有基础设施中。该镜像提供默认的非验证、临时配置,适用于大多数开发者。通过配置基于主机的卷,可实现完整的配置自定义和数据持久化。
--protocol-version {version}参数指定协议版本(默认最新版)使用前需确定以下事项:
Docker容器可后台运行(-d参数)或交互式运行(-it参数)。建议参考Docker官方教程熟悉基本操作。
临时模式适用于开发和测试环境,每次启动容器时数据库为空,使用默认配置。
启动命令示例(测试网节点,暴露horizon端口):
shell$ docker run --rm -it -p "8000:8000" --name *** ***/quickstart --testnet
启动时,临时模式容器会生成随机PostgreSQL密码并输出到标准输出,可用于访问数据库(需暴露PostgreSQL端口)。
持久模式通过挂载主机卷实现配置自定义和数据持久化,适用于需要保留数据或自定义配置的场景。
启动命令示例(测试网节点,挂载主机目录/home/scott/***):
shell$ docker run --rm -it -p "8000:8000" -v "/home/scott/***:/opt/***" --name *** ***/quickstart --testnet
初始化步骤:
持久模式下,首次启动会在挂载卷中生成默认配置文件,文件结构如下:
/opt/*** ├── core │ └── etc │ └── ***-core.cfg # *** core配置文件 ├── horizon │ └── etc │ └── horizon.env # Horizon环境变量配置脚本 ├── postgresql │ └── etc │ ├── postgresql.conf # PostgreSQL主配置文件 │ ├── pg_hba.conf # PostgreSQL客户端配置文件 │ └── pg_ident.conf # PostgreSQL用户映射文件 └── supervisor └── etc └── supervisord.conf # Supervisord主配置文件
注意:修改配置前建议停止容器,修改后重启。错误配置可能导致服务异常,建议先了解各服务管理方法。
容器与主机卷之间的UID管理较复杂,当前镜像使用固定UID ***创建用户。主机卷中的数据将归属于该UID。如需修改,建议Fork项目并替换UID。
| 端口 | 服务 | 描述 |
|---|---|---|
| 5432 | postgresql | 数据库访问端口 |
| 8000 | horizon | Horizon HTTP端口 |
| 6060 | horizon | Horizon管理端口 |
| *** | ***-core | ***-core对等端口 |
| *** | ***-core | ***-core HTTP端口 |
通过以下命令在运行中的容器内启动交互式shell:
shell$ docker exec -it *** /bin/bash
(将***替换为容器实际名称)
容器内服务通过supervisord管理,可使用supervisorctl交互:
shell# 进入容器后执行 $ supervisorctl
supervisorctl命令示例:
shell# 重启horizon supervisor> restart horizon # 停止***-core supervisor> stop ***-core
日志位于容器内/var/log/supervisor/目录,也可通过supervisorctl的tail命令查看。
容器内运行两个PostgreSQL数据库:core(***-core数据)和horizon(horizon数据)。连接信息:
***shell$ docker run -d -p "8000:8000" --name *** ***/quickstart --pubnet
shell$ docker run --rm -it \ -p "8000:8000" \ -p "***:***" \ -p "***:***" \ --name *** \ ***/quickstart --testnet
/str)shell$ docker run -it --rm \ -v "/str:/opt/***" \ --name *** \ ***/quickstart --pubnet
shell$ docker run -d \ -v "/str:/opt/***" \ -p "8000:8000" \ --name *** \ ***/quickstart --pubnet
如有问题,请提交issue或加入***公共Slack频道获取支持。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务