在Centos7.x上通过Docker快速部署Nano节点

最近有需求部署一个 Nano 的节点,支持类似交易所的充值和提现。查看了官方文档的部署方式,总结起来就是自己编译部署、下载官方提供的 release 包部署、官方推荐通过 Docker 部署。三种都有尝试,最后选择了 Docker 部署。

  1. 安装 Docker-CE
  2. 拉取 NanoDocker 镜像
[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
  1. 查看镜像是否拉取成功
[root@nano ~]# docker images
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
 nanocurrency/nano   latest              1ab6ed7ef0ab        17 hours ago        124MB
  1. 运行
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
  1. 查看节点是否正在运行
  [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
  1. 使用 Nano 命令行接口
[root@nano ~]# docker exec -it b969b1cd6573 /bin/bash
root@b969b1cd6573:/# rai_node --debug_block_count
Block count: 1731
  1. 使用 Nano 离线数据库
  • 在这里下载最新的离线数据(一般每天更新截止到昨天的数据)
  • 备份 seeddata.ldb、钱包等重要信息
  • 停止运行 nano 节点的容器
  • 解压下载的离线数据文件,将解压的 data.ldb 文件替换掉 /work/nano/RaiBlocks 下的 data.ldb 文件
  • 重新运行 nano 节点的容器
  • 通过第6部查看 block 是否在开始同步,确认导入的离线数据是否生效
  1. docker 其它命令
    • docker images 查看所有的镜像文件
    • docker ps 查看所有在运行的容器
    • docker ps -a 查看所有容器(包含未运行的)
    • docker stop containerId 停止一个容器
    • docker start containerId 启用一个容器
    • docker restart containerId 重启一个容器
    • docker rm containerId 删除一个容器
    • docker rmi imageId 删除一个镜像

你可能感兴趣的:(在Centos7.x上通过Docker快速部署Nano节点)