本地运行 godwoken,其它组件使用 kicker。这里假设 kicker 已经完成部署和生成配置的工作了
# 这里假设 kicker start 已经完成部署和生成配置的工作了,kicker stop 把组件都先关闭,之后再根据需要启动相应的组件
# kicker start && kicker stop
GODWOKEN_WORKING_DIR=" $( pwd) /.tmp"
mkdir -p $GODWOKEN_WORKING_DIR
# godwoken 允许需要读取 generator scripts,所以先从镜像里把 scripts 复制到宿主机
./kicker -- run \
--no-deps \
--volume=$GODWOKEN_WORKING_DIR /scripts:/.tmp/scripts \
--entrypoint=' "cp -r /scripts/ /.tmp/"' godwoken
# 修改 kicker 生成的配置文件 godwoken-config.toml
cat ./docker/layer2/config/godwoken-config.toml \
| sed ' s#ckb-indexer:8116#127.0.0.1:8116#' \
| sed ' s#ckb:8114#127.0.0.1:8114#' \
| sed " s#/var/lib/layer2/data#$GODWOKEN_WORKING_DIR /data#" \
| sed " s#/scripts/#$GODWOKEN_WORKING_DIR /scripts/#" \
| sed " s#/accounts/#$GODWOKEN_WORKING_DIR /../accounts/#" > .tmp/godwoken-config.toml
./kicker -- up -d postgres redis ckb ckb-miner ckb-indexer
godwoken run -c $GODWOKEN_WORKING_DIR /godwoken-config.toml
./kicker -- -f docker/local-development.compose.yml up -d --no-deps web3
./kicker -- -f docker/local-development.compose.yml up -d --no-deps web3-indexer
$ cat docker/local-development.compose.yml
version : ' 3.8'
services :
web3 :
extra_hosts :
# docker run -it --rm alpine nslookup host.docker.internal => 192.168.65.5
# godwoken: host.docker.internal
godwoken : 192.168.65.5
web3-indexer :
extra_hosts :
godwoken : 192.168.65.5
From inside of a Docker container, how do I connect to the localhost of the machine? - Stack Overflow