最近有需求部署一个 Nano
的节点,支持类似交易所的充值和提现。查看了官方文档的部署方式,总结起来就是自己编译部署、下载官方提供的 release
包部署、官方推荐通过 Docker
部署。三种都有尝试,最后选择了 Docker
部署。
- 安装
Docker-CE
- 拉取
Nano
的Docker
镜像
[root@nano ~]# docker pull nanocurrency/nano
Using default tag: latest
latest: Pulling from nanocurrency/nano
b849b56b69e7: Pull complete
42986ef25bcd: Pull complete
d927c1b717ec: Pull complete
15b86ea20233: Pull complete
cc1cb3477815: Pull complete
ccc9d685575e: Pull complete
ddf6af5cd6fd: Pull complete
3c20da7fda96: Pull complete
6d012d7240dd: Pull complete
Digest: sha256:d2b695b685e8111ef5d1ad51acdfed63844c26c4fe925d4bb864a0efc39d8a8f
Status: Downloaded newer image for nanocurrency/nano:latest
- 查看镜像是否拉取成功
[root@nano ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nanocurrency/nano latest 1ab6ed7ef0ab 17 hours ago 124MB
- 运行
sudo docker run -d -p 7076:7076 -v /work/nano:/root --restart=unless-stopped nanocurrency/nano
各个参数:
- -d 开启
Daemon
模式 - -p 指定
rpc
访问端口 - -v /work/nano:/root 挂载目录 让主机
/work/nano
与 容器/root
做映射 这里将Nano
的文件目录指定到主机的/work/nano
下
- 查看节点是否正在运行
[root@nano ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b969b1cd6573 nanocurrency/nano "/bin/bash /entry.sh" 8 minutes ago Up 8 minutes 0.0.0.0:7076->7076/tcp awesome_franklin
- 使用
Nano
命令行接口
[root@nano ~]# docker exec -it b969b1cd6573 /bin/bash
root@b969b1cd6573:/# rai_node --debug_block_count
Block count: 1731
- 使用
Nano
离线数据库
- 在这里下载最新的离线数据(一般每天更新截止到昨天的数据)
- 备份
seed
、data.ldb
、钱包等重要信息 - 停止运行
nano
节点的容器 - 解压下载的离线数据文件,将解压的
data.ldb
文件替换掉/work/nano/RaiBlocks
下的data.ldb
文件 - 重新运行
nano
节点的容器 - 通过第6部查看
block
是否在开始同步,确认导入的离线数据是否生效
-
docker
其它命令- docker images 查看所有的镜像文件
- docker ps 查看所有在运行的容器
- docker ps -a 查看所有容器(包含未运行的)
- docker stop containerId 停止一个容器
- docker start containerId 启用一个容器
- docker restart containerId 重启一个容器
- docker rm containerId 删除一个容器
- docker rmi imageId 删除一个镜像