From 31ef28e64750af382345156cec7b512f78f27790 Mon Sep 17 00:00:00 2001 From: nao Date: Mon, 26 Jul 2021 23:11:14 +0900 Subject: [PATCH] Support docker.sock in rootless mode (#447) Docker version 20.10 support rootless mode. That features changes a mount path of docker.sock. This PR loads a mount path from DOCKER_HOST environment, and if not set, a mount path will be /var/run/docker.sock FAB-18481 Signed-off-by: Nao Nishijima --- test-network/addOrg3/addOrg3.sh | 8 ++++++-- test-network/addOrg3/docker/docker-compose-org3.yaml | 2 +- test-network/docker/docker-compose-test-net.yaml | 4 ++-- test-network/network.sh | 8 ++++++-- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/test-network/addOrg3/addOrg3.sh b/test-network/addOrg3/addOrg3.sh index 1f5bf97b..3a1a7b66 100755 --- a/test-network/addOrg3/addOrg3.sh +++ b/test-network/addOrg3/addOrg3.sh @@ -119,9 +119,9 @@ function generateOrg3Definition() { function Org3Up () { # start org3 nodes if [ "${DATABASE}" == "couchdb" ]; then - docker-compose -f $COMPOSE_FILE_ORG3 -f $COMPOSE_FILE_COUCH_ORG3 up -d 2>&1 + DOCKER_SOCK=${DOCKER_SOCK} docker-compose -f $COMPOSE_FILE_ORG3 -f $COMPOSE_FILE_COUCH_ORG3 up -d 2>&1 else - docker-compose -f $COMPOSE_FILE_ORG3 up -d 2>&1 + DOCKER_SOCK=${DOCKER_SOCK} docker-compose -f $COMPOSE_FILE_ORG3 up -d 2>&1 fi if [ $? -ne 0 ]; then fatalln "ERROR !!!! Unable to start Org3 network" @@ -183,6 +183,10 @@ COMPOSE_FILE_CA_ORG3=docker/docker-compose-ca-org3.yaml # database DATABASE="leveldb" +# Get docker sock path from environment variable +SOCK="${DOCKER_HOST:-/var/run/docker.sock}" +DOCKER_SOCK="${SOCK##unix://}" + # Parse commandline args ## Parse mode diff --git a/test-network/addOrg3/docker/docker-compose-org3.yaml b/test-network/addOrg3/docker/docker-compose-org3.yaml index b5bc8cc9..0d3a85a6 100644 --- a/test-network/addOrg3/docker/docker-compose-org3.yaml +++ b/test-network/addOrg3/docker/docker-compose-org3.yaml @@ -40,7 +40,7 @@ services: - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org3.example.com:11051 - CORE_PEER_LOCALMSPID=Org3MSP volumes: - - /var/run/docker.sock:/host/var/run/docker.sock + - ${DOCKER_SOCK}:/host/var/run/docker.sock - ../../organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/msp:/etc/hyperledger/fabric/msp - ../../organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls:/etc/hyperledger/fabric/tls - peer0.org3.example.com:/var/hyperledger/production diff --git a/test-network/docker/docker-compose-test-net.yaml b/test-network/docker/docker-compose-test-net.yaml index 35d29eef..b4b54a45 100644 --- a/test-network/docker/docker-compose-test-net.yaml +++ b/test-network/docker/docker-compose-test-net.yaml @@ -87,7 +87,7 @@ services: - CORE_PEER_LOCALMSPID=Org1MSP - CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:17051 volumes: - - /var/run/docker.sock:/host/var/run/docker.sock + - ${DOCKER_SOCK}:/host/var/run/docker.sock - ../organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp - ../organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls - peer0.org1.example.com:/var/hyperledger/production @@ -126,7 +126,7 @@ services: - CORE_PEER_LOCALMSPID=Org2MSP - CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:19051 volumes: - - /var/run/docker.sock:/host/var/run/docker.sock + - ${DOCKER_SOCK}:/host/var/run/docker.sock - ../organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp - ../organizations/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls - peer0.org2.example.com:/var/hyperledger/production diff --git a/test-network/network.sh b/test-network/network.sh index 24b9481e..2b09f79e 100755 --- a/test-network/network.sh +++ b/test-network/network.sh @@ -241,7 +241,7 @@ function networkUp() { COMPOSE_FILES="${COMPOSE_FILES} -f ${COMPOSE_FILE_COUCH}" fi - docker-compose ${COMPOSE_FILES} up -d 2>&1 + DOCKER_SOCK="${DOCKER_SOCK}" docker-compose ${COMPOSE_FILES} up -d 2>&1 docker ps -a if [ $? -ne 0 ]; then @@ -278,7 +278,7 @@ function deployCC() { # Tear down running network function networkDown() { # stop org3 containers also in addition to org1 and org2, in case we were running sample to add org3 - docker-compose -f $COMPOSE_FILE_BASE -f $COMPOSE_FILE_COUCH -f $COMPOSE_FILE_CA down --volumes --remove-orphans + DOCKER_SOCK=$DOCKER_SOCK docker-compose -f $COMPOSE_FILE_BASE -f $COMPOSE_FILE_COUCH -f $COMPOSE_FILE_CA down --volumes --remove-orphans docker-compose -f $COMPOSE_FILE_COUCH_ORG3 -f $COMPOSE_FILE_ORG3 down --volumes --remove-orphans # Don't remove the generated artifacts -- note, the ledgers are always removed if [ "$MODE" != "restart" ]; then @@ -338,6 +338,10 @@ CC_SEQUENCE=1 # default database DATABASE="leveldb" +# Get docker sock path from environment variable +SOCK="${DOCKER_HOST:-/var/run/docker.sock}" +DOCKER_SOCK="${SOCK##unix://}" + # Parse commandline args ## Parse mode