Many times I see docker compose files used in Fabric but since I am new to both docker (container) and fabric (blockchain), I find it difficult to understand why these configuration works and which settings should I change in order to make the network running or functioning accordingly. This post is a summary of what I have learned.

File Extensions

.yaml (.yml)

YAML (YAML Ain’t Markup Language) is a human-readable data serialization language1

It’s a strict superset of JSON, with the addition of syntactically significant newlines and indentation, like Python. Unlike Python, however, YAML doesn’t allow literal tab characters for indentation.2

.json

JSON (JavaScript Object Notation) is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute-value pairs and array data types (or any other serializable value).3

Docker Compose

The Compose file is a YAML file defining services, networks, and volumes for a Docker application.4

version: '3'
services:
  web:
    build: .
    ports:
    - "5000:5000"
    volumes:
    - .:/code
    - logvolume01:/var/log
    links:
    - redis
  redis:
    image: redis
volumes:
  logvolume01: {}

Examples

Keys (with reference)


  1. Wiki page of yaml
  2. Learn yaml in Y minutes
  3. Wiki page of json