EOS Docker 部署

本文基于EOS 1.1.0版本官方Docker镜像

1.安装Docker CE

低版本Docker不行,官方要求17.0或以上版本。

(如果使用老版本安装,会遇到权限不足的错误。

cp: cannot create regular file '/opt/eosio/bin/data-dir/config.ini': Permission denied

cp: cannot create directory '/opt/eosio/bin/data-dir/contracts': Permission denied)

Docker Docker 17.05 or higher is required

docker-compose version >= 1.10.0

先卸载原来安装的版本

sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

安装Docker CE的依赖包

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

安装Docker CE仓库

sudo yum-config-manager \
     --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装Docker CE

sudo yum install docker-ce

设置国内Docker镜像库加速

sudo sh -c "echo '{\"registry-mirrors\": [\"https://registry.docker-cn.com\"]}' > /etc/docker/daemon.json"

启动Docker服务

sudo systemctl start docker
sudo systemctl enable docker

2.下载并运行eos镜像

sudo docker run --name nodeos -v /root/eos-data:/opt/eosio/bin/data-dir -p 8888:8888 -p 9876:9876 -t eosio/eos nodeosd.sh -e --http-alias=nodeos:8888 --http-alias=192.168.12.133:8888 --http-alias=localhost:8888 arg1 arg2

黄色部分改为本机的IP。红色部分改为本机数据存储的路径,存储智能合约和config.ini配置文件。

开发版

docker run --rm --name eosio-dev -p 8888:8888 -p 9876:9876 -v /root/eosio-dev/work:/work -v /root/eosio-dev/eosio/data:/mnt/dev/data -v /root/eosio-dev/eosio/config:/mnt/dev/config eosio/eos-dev:v1.1.6  /bin/bash -c "nodeos -e -p eosio  --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:8888 --access-control-allow-origin=* --contracts-console --http-validate-host=false"

ctrl+c关掉docker执行过程显示后,可使用下面语句继续显示

 docker logs -f nodeos

开启钱包的容器

sudo docker run --name keosd -v /root/eosio/data:/opt/eos/bin/data-dir -v /root/eosio/wallet:/root/eosio-wallet -p :8900:8900 -t eosio/eos /opt/eosio/bin/keosd --wallet-dir /opt/eos/bin/data-dir --http-server-address=127.0.0.1:8900

开启防火墙

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --zone=public --add-port=9876/tcp --permanent
firewall-cmd --reload

进入镜像操作

docker exec -it nodeos /bin/bash

ok,到这里服务已经起来了。nodeos已经可以启动了。

3.验证

使用浏览器查看信息

EOS Docker 部署_第1张图片EOS Docker 部署_第2张图片

下一步开发开发简单的智能合约。

TODO:

1.钱包及账户创建,权限简要介绍

2.简单智能合约开发

3.配置文件解析

4.EOS集群部署

5.主链交互

你可能感兴趣的:(EOS)