6

我需要一个用于 RSK 节点的 dockerized 版本的 docker-compose YAML 文件(请参见此处)。

它需要有一个用于配置文件的卷和另一个用于数据库的卷。

4

1 回答 1

4

这是(RSK Testnet Docker的示例):

version: "3"
services:
  rsk-testnet:
    image: testnet:latest
    build:
        context: .
        dockerfile: Dockerfile.Testnet
    restart: always
    volumes:
      - rsk_db:/var/lib/rsk/database
      - rsk_cfg:/etc/rsk
    ports:
      - 4444:4444
      - 50505:50505

volumes:
    rsk_db:
        driver: local
        driver_opts:
            o: bind
            type: none
            device: /rsk/database
    rsk_cfg:
        driver: local
        driver_opts:
            o: bind
            type: none
            device: /rsk/conf

第二种方法如下:也许,最好为数据创建一个单独的卷,而不是与主机共享。因为速度。

version: "3.8"
services:

  mainnet:
    build: ./docker/rsk
    container_name: rsk-node-mainnet
    entrypoint: "/usr/bin/java -Dlogback.configurationFile='/etc/rsk/logback.xml' -Drsk.conf.file=/etc/rsk/node.conf -cp /usr/share/rsk/rsk.jar co.rsk.Start > /dev/null 2>&1 &"
    volumes:
      - rsk-node-storage:/data
    #  - ./import:/import
    restart: unless-stopped
    networks:
      - rsk-node-mainnet-network
    ports:
      - '4444:4444'
      - '4445:4445'
      
volumes:
  rsk-node-storage:
    external: true

networks:
  rsk-node-mainnet-network:
    external: true
    name: rsk-node-mainnet-network

到 node.conf:

database.dir = /data/database/mainnet

可能是正确的,您应该将自己的 node.conf 复制到 dockerfile 中。或者更改入口点参数并从主机插入 node.conf。

于 2021-09-08T18:42:00.200 回答