Docker
Docker上简单快速的EOSIO设置也是可用的. 您可以在中找到有关EOSIO Docker的最新信息 Docker Readme.
安装依赖关系
- Docker Docker 17.05 或更高是必需的
构建EOSIO映像
$ git clone https://github.com/EOSIO/eos.git --recursive
$ cd eos/Docker
$ docker build . -t eosio/eos
仅启动nodeos docker容器
$ docker run --name nodeos -p 8888:8888 -p 9876:9876 -t eosio/eos start_nodeos.sh arg1 arg2
默认情况下,所有数据都保存在docker volume中。 如果数据过期或损坏,可以被删除:
$ docker inspect --format '{{ range .Mounts }}{{ .Name }} {{ end }}' nodeos
fdc265730a4f697346fa8b078c176e315b959e79365fc9cbd11f090ea0cb5cbc
$ docker volume rm fdc265730a4f697346fa8b078c176e315b959e79365fc9cbd11f090ea0cb5cbc
或者,您可以直接将主机目录挂载到容器中
$ docker run --name nodeos -v /path-to-data-dir:/opt/eos/bin/data-dir -p 8888:8888 -p 9876:9876 -t eosio/eos start_nodeos.sh arg1 arg2
获取链信息
$ curl http://127.0.0.1:8888/v1/chain/get_info
启动nodeos和keosd容器
$ docker-compose up
在docker-compose up
之后,将启动两个名为nodeos和keosd的服务。 nodeos服务将把端口8888和9876暴露给主机。 keosd服务不会将任何端口暴露给主机,只有在keosd容器内运行cleos时才可以使用cleos,如“执行cleos命令”一节中所述.
执行cleos命令
您可以通过bash别名运行cleos
命令.
$ alias cleos='docker-compose exec keosd /opt/eos/bin/cleos -H nodeos'
$ cleos get info
$ cleos get account inita
上传sample exchange智能合约
$ cleos set contract exchange contracts/exchange/exchange.wast contracts/exchange/exchange.abi
如果您以后不需要keosd,则可以使用停止keosd服务
$ docker-compose stop keosd
更改默认配置
您可以使用docker撰写覆盖文件更改默认配置。 例如, 使用以下内容创建备用配置文件config2.ini
和docker-compose.override.yml
。
version: "2"
services:
nodeos:
volumes:
- nodeos-data-volume:/opt/eos/bin/data-dir
- ./config2.ini:/opt/eos/bin/data-dir/config.ini
然后按照以下步骤重新启动Docker容器:
$ docker-compose down
$ docker-compose up
清空 data-dir
docker-compose创建的数据卷可以删除,如下所示
$ docker volume rm docker_nodeos-data-volume