- Initialize Swarm: sudo docker swarm init --advertise-addr
- Create network: sudo docker network create --driver overlay --attachable fabric_network
- Deploy stack: sudo docker stack deploy -c docker/compose.yaml fabric
- Verify: sudo docker stack ps fabric
bin/ # Fabric binaries (configtxgen, peer, orderer, etc.) ca.org1.example.com/ # Certificate Authority orderer.example.com/ # Ordering service peer0.org1.example.com/ # Peer node cli.example.com/ # Admin CLI tools/ # Chaincode & configs docker/compose.yaml # Swarm stack file
• ca.org1.example.com:7054 - Certificate Authority • orderer.example.com:7050 - Ordering Service • peer0.org1.example.com:7051 - Peer Node (API:7051, Events:7052) • cli.example.com - Admin CLI (no ports)
sudo docker service ls # List all services sudo docker service logs -f fabric_peer # View logs sudo docker stack ps fabric # Check stack status
sudo docker node ls # Check swarm nodes sudo docker network inspect fabric_network sudo docker service inspect fabric_peer
sudo docker service scale fabric_peer=2 # Scale service sudo docker stack rm fabric # Remove stack sudo docker stack deploy -c docker/compose.yaml fabric # Update
CA: https://localhost:7054/healthz
Orderer: http://localhost:7050/healthz
Peer: http://localhost:7051/healthz
• All .sk files contain private keys - protect them • TLS certificates in each component's tls/ directory • Regenerate all crypto material for production use • Backup ca.org1.example.com/fabric-ca-server.db regularly
After successful deployment:
- Bootstrap admin identities
- Create channels (separate operation)
- Deploy chaincode (separate operation)
NOTE: This setup deploys only the infrastructure. The CLI container contains tools for subsequent channel and chaincode operations.