docker-compose.yml

  
version: '3.3'  
  
services:  
  ethereum_etl:  
    build:  
      context: .  
    volumes:  
      - ./var/log/:/ethereum-etl/output:rw  
      #- /root/go/src/github.com/ethereum/go-ethereum/build/bin/data:/ethereum-etl/ipc #failed ipc is interface not data  
    networks:  
      - etl  
  
networks:  
  etl:  
    driver: bridge  

DOCKERFILE

  
FROM python:3.6-alpine  
MAINTAINER Eric Lim   
ENV PROJECT_DIR=ethereum-etl  
  
RUN mkdir /$PROJECT_DIR  
WORKDIR /$PROJECT_DIR  
RUN apk add --no-cache gcc musl-dev  #for C libraries:    
RUN pip install --upgrade pip && pip install ethereum-etl  
  
#ENTRYPOINT ["python", "ethereumetl"]  
ENTRYPOINT ["ethereumetl"]  
CMD ["export_all", "-s", "0", "-e", "500000", "-p", "http://xxx.xxx.xxx.xxx:8545", "-o", "output"]  

-s -e -p -o see
https://github.com/blockchain-etl/ethereum-etl

Import:-p  must give port. http 80, https 443 so custom geth port usually 8545

--rpcaddr “0.0.0.0” or special ip

  
geth --datadir ./gethdata --networkid xxxxxx --rpcapi "db,eth,net,web3,personal" --rpc --rpccorsdomain "*" --rpcaddr "0.0.0.0" --port 30303 console