Skip to content

Instantly share code, notes, and snippets.

@keroro520
Created May 30, 2022 04:35
Show Gist options
  • Save keroro520/a31c631bdd0d89f1a5b62f54687efb3d to your computer and use it in GitHub Desktop.
Save keroro520/a31c631bdd0d89f1a5b62f54687efb3d to your computer and use it in GitHub Desktop.
结合 kicker 与本地开发.md

Examples

本地运行 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

Reference

From inside of a Docker container, how do I connect to the localhost of the machine? - Stack Overflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment