Docker快速部署

📘

加入TG群组

节点升级、Proposal讨论表决、开发者答疑。代表选民参与Vision社区DAO第一线 。

https://t.me/visioncore_nodeupgrade_pa

📘

一种可选的更简单的部署方式

如果你目前的操作系统符合以下要求,并且你对自己直接使用docker命令部署节点不感兴趣,你可以使用以下脚本直接运行你的节点。

系统要求:
CentOS7 (Redhat7)
CentOS8 (Redhat8)
Ubuntu18
Ubuntu20
Debian Buster 10
Debian Bullseye 11

操作步骤如下:

# 获取脚本

wget https://vision-mainnet-configs.s3.us-east-2.amazonaws.com/scripts/vision-mainnet_node-deploying.sh


# 运行脚本
/bin/bash vision-mainnet_node-deploying.sh [--witness]

# --witness 是一个可选选项, 带上该选项表示你部署的是一个FVGuarantee节点
# 否则, --witness 选项是不需要的.

❗️

警告

1.该脚本的执行可能会升级当前主机上的docker版本。如果你有依赖旧版docker的容器,请不要使用这个脚本。

2.目前这个脚本只适用于Vision主网节点的部署。目前还不支持vpioneer测试链节点的部署。

使用官方提供的 docker 镜像来部署 vision 网络节点。

我们可以使用 "docke run" 命令来直接启动一个vision 节点。 我们可以指定该节点为不同网络上的不同类型的节点。

环境需求

1.Linux 操作系统
建议Ubuntu 18.04
2.推荐节点配置:
8核CPU、16G内存、50M带宽、500G磁盘
3.安装docker
20.10.8 或更新版本

apt-get install docker.io -y

# 或者也可以去 https://docs.docker.com/engine/install/ubuntu/ 选择自己想要安装的版本进行安装

🚧

系统与docker版本

如果操作系统使用的是ubuntu18.04, 那么系统上面使用 apt-get install 安装的docker 会自动符合我们这里的版本要求。 对于使用 Centos7 或者 Centos8 的用户请注意: 系统自带的docker 版本可能会比较老旧。 这会给docker 一键部署节点带来一些问题。 如果一定要使用这些系统的话, 请自行将 docker 版本升级到较新的版本。

部署节点

1. 独立运行模式

独立模式主要用于开发测试, 独立模式部署的节点不会与其他任何的几点进行通讯。 该节点自身就是一个 FV 节点。 它可以自己生产区块并不断向前推进。 我们可以在自己的环境中部署该类节点进行测试。

docker run 命令:

docker run -itd \
    -v "/data/standalone:/data/vision" \
    -p 7080:7080 \
    -p 7081:7081 \
    -p 7082:7082 \
    -p 16666:16666 \
    -p 60061:60061 \
    -p 60071:60071 \
    -p 60081:60081 \
    --name vision-standalone \
    maintainers/vision-standalone:latest

2. vpioneer 测试链节点

vpioneer 是 vision 官方部署的一个测试网络。 它具有 vision 网络所有的特性。

我们可以选择在 vpioneer 网络中部署一个 FullNode 节点或者 FV 节点。 FullNode 节点不会进行区块生产, 而 FV 节点在获取到足够的投票和进行足够的 FV 质押后是有可能获得区块生产的权限的, 并以此获取相应的奖励。

部署 FV 节点的 docker run 命令:

docker run -itd \
    -v "/data/vpioneer:/data/vision" \
    -p 7080:7080 \
    -p 7081:7081 \
    -p 7082:7082 \
    -p 16666:16666 \
    -p 60061:60061 \
    -p 60071:60071 \
    -p 60081:60081 \
    --name vision-vpioneer-FVGuarantee \
    maintainers/vision-vpioneer:latest --private <private-key>

📘

private-key 是 FV 账户的秘钥

部署 FullNode 的 docker run 命令:

docker run -itd \
    -v "/data/vpioneer:/data/vision" \
    -p 7080:7080 \
    -p 7081:7081 \
    -p 7082:7082 \
    -p 16666:16666 \
    -p 60061:60061 \
    -p 60071:60071 \
    -p 60081:60081 \
    --name vision-vpioneer-fullnode \
    maintainers/vision-vpioneer:latest

2. Mainnet主网节点

部署主网验证者FV 节点的 docker run 命令:

docker run -itd \
    -v "/data/mainnet:/data/vision" \
    -p 7080:7080 \
    -p 7081:7081 \
    -p 7082:7082 \
    -p 16666:16666 \
    -p 60061:60061 \
    -p 60071:60071 \
    -p 60081:60081 \
    --name vision-mainnet-FVGuarantee \
    maintainers/vision-mainnet:latest --private <private-key>

📘

private-key 是 FV 账户的秘钥

部署主网FullNode 的 docker run 命令:

docker run -itd \
    -v "/data/mainnet:/data/vision" \
    -p 7080:7080 \
    -p 7081:7081 \
    -p 7082:7082 \
    -p 16666:16666 \
    -p 60061:60061 \
    -p 60071:60071 \
    -p 60081:60081 \
    --name vision-fullnode \
    maintainers/vision-mainnet:latest

📘

在 docker run 命令中, 我们使用了 -v 选项将容器内部的数据卷映射到了外部宿主机上的文件系统中。 在映射出来的目录中, 我们可以看到 logs, configs, output-directory子目录。 这些子目录分别就是节点的日志文件,配置文件, 数据库文件的存放位置。

📘

以上所有的部署方式都可以事先下载好我们提供的数据库镜像文件, 然后再部署节点。 这样做可以大大加快我们节点同步到最新区块的速度。standalone 模式是单节点独立运行模式, 只用于测试目的, 不需要任何数据镜像.

参考官方数据快照使用,下载数据快照部署节点。