1. 系统要求
•安装 Docker
•安装 Compose
•环境验证: 用户可以用如下命令验证环境,如果返回信息类似,则说明系统满足要求
# docker-compose ps
Name Command State Ports
------------------------------
2. 基本用法(以geth为例)
部署星火节点,只需要编写一个配置文件,然后使用compose命令运行即可。 配置文件可以参考这个项目里面的样例,用户可以直接clone下来使用。
•启动
# git clone https://github.com/ethnode/compose
# cd compose
# cp docker-compose-geth.yml docker-compose.yml
# <所有的自定义内容都在 docker-compose.yml 文件中>
# <用户至少需要修改下面两条:>
# instance: 用于在dashboard上显示你的节点名
# contact\_details: 用于提供本节点的维护者联系方式,通常是邮箱
# docker-compose up -d
首次使用时需要下载镜像,这时需要一点时间,具体根据网络情况而定
•升级/降级
用户唯一需要做的就是指明目标版本,修改后重建容器节点即可。
# < 在 docker-compose.yml 文件中修改geth镜像版本 >
# docker-compose down # 停止并删除容器
# docker-compose up -d # 重新建立容器
镜像版本可以在 geth 和 parity 这两个网页中查询
3. 高级用法(可选)
补充说明:借助docker技术,我们可以做一些定制化,同时又避免增加运维的复杂性
•docker: 可用于标准化的交付软件应用,fsword目前负责维护三个镜像(geth、parity和stats),以简化用户使用
•compose: 即docker-compose,这是docker系相关技术,主要用于将独立的容器关联起来
•volume
用户建立星火节点时需要和宿主机目录进行关联,这样,当容器重建时可以保留区块链信息。在docker-compose.yml中, 我们使用 volume 设置宿主机和目标容器之间的映射
缺省的volume配置是这样的:
/data/store/parity:/root/.parity
冒号 : 前半部分是宿主机上的文件夹,用户可以根据实际情况进行设定。
注意:无论parity还是geth,节点的运行是需要较大的磁盘空间的,用户需要确保 volume 所在的文件分区足够大,目前
建议 geth 不小于20G,parity 不小于 50G ,如果是云主机,建议直接挂载一个 100G 的外部磁盘分区•资源使用
某些用户的宿主机上有其它服务,这时需要限制容器所使用的资源,避免干扰其它服务,用户可以在 docker-compose.yml 中添加设置。比如,想要限制容器使用的内存大小可以用 mem_limit :
...
ethereum:
image: ethnode/geth:1.4.17
volumes:
- /data/store/geth:/root/.ethereum
mem_limit: 4000000000
...
这个设置将限制docker容器运行内存,使之不大于4G
更多的限制方式,可以参考这里