要开始搞毕设了,准备学学很多新东西,比如微服务,比如函数云计算,不过开始还是要先把geth部署上
0 为什么要选docker
1 方便,可迅速部署到服务端
2 还是方便,可以轻松跑出多个节点并互相发现
3 编不下去了。。。
官方镜像https://hub.docker.com/r/ethereum/client-go
步骤
一 安装docker
自行百度
二 把上面这个镜像pull下来,pull最新的即可
docker pull ethereum/client-go
三 先说说docker run的参数
因为官方镜像如果直接启动会默认为geth,直接同步主网络,我们肯定是不希望他直接同步的,命令如下
docker run -d -it --name=node0 -u root -p 8545:8545 -p 30303:30303 -v E:\eth:/root --privileged=true --entrypoint /root/a.sh ethereum/client-go
-v 代表将本地文件挂载上去
--privileged 真正的sudo权限
--entrypoint 入口脚本,如果存在会覆盖掉dockerfile里的声明
我在这个脚本里选择了把私链初始化,如何初始化可以看官方教程和我之前的文章
我的脚本
#!/bin/sh
#初始化创世区块
geth -datadir /root/data init /