From 73049e01536c7a89a20a3917f991d1c293216d87 Mon Sep 17 00:00:00 2001 From: sapthasurendran Date: Tue, 3 Aug 2021 12:38:27 +0530 Subject: [PATCH] docker file for app readme update for docker added dockerignore added dumb-init env var added to compose readme update Signed-off-by: sapthasurendran --- README.md | 19 ++++++++++++++ .../rest-api-typescript/.dockerignore | 4 +++ .../rest-api-typescript/Dockerfile | 20 ++++++++++++++ .../rest-api-typescript/docker-compose.yaml | 26 +++++++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 asset-transfer-basic/rest-api-typescript/.dockerignore create mode 100644 asset-transfer-basic/rest-api-typescript/Dockerfile create mode 100644 asset-transfer-basic/rest-api-typescript/docker-compose.yaml diff --git a/README.md b/README.md index f8ba15c9..b5f40edf 100644 --- a/README.md +++ b/README.md @@ -105,3 +105,22 @@ curl --include --header "Content-Type: application/json" --header "X-Api-Key: ${ ```shell curl --include --header "X-Api-Key: ${SAMPLE_APIKEY}" --request DELETE http://localhost:3000/api/assets/asset7 ``` +## Steps to run the application using docker: + +Move to directory fabric-rest-sample/asset-transfer-basic/rest-api-typescript + +### Build docker image + docker build -t fabricapp . + +### Generate .env file + TEST_NETWORK_HOME=$HOME/fabric-samples/test-network ./scripts/generateEnv.sh + + Note: Connection profile need to use the peer container’s hostname instead of localhost. + +### Run docker containers + docker-compose up -d + + + + + diff --git a/asset-transfer-basic/rest-api-typescript/.dockerignore b/asset-transfer-basic/rest-api-typescript/.dockerignore new file mode 100644 index 00000000..4f3089df --- /dev/null +++ b/asset-transfer-basic/rest-api-typescript/.dockerignore @@ -0,0 +1,4 @@ +node_modules +npm-debug.log +Dockerfile +.gitignore diff --git a/asset-transfer-basic/rest-api-typescript/Dockerfile b/asset-transfer-basic/rest-api-typescript/Dockerfile new file mode 100644 index 00000000..5ebc77bd --- /dev/null +++ b/asset-transfer-basic/rest-api-typescript/Dockerfile @@ -0,0 +1,20 @@ +FROM node:14-alpine3.12 +RUN apk add dumb-init +WORKDIR /fabric_app/ + +COPY --chown=node:node . /fabric_app/ + +RUN npm ci + +RUN npm run build + +EXPOSE 3000 + +USER node +CMD dumb-init npm run start:dev + + + + + + diff --git a/asset-transfer-basic/rest-api-typescript/docker-compose.yaml b/asset-transfer-basic/rest-api-typescript/docker-compose.yaml new file mode 100644 index 00000000..1a2c7b93 --- /dev/null +++ b/asset-transfer-basic/rest-api-typescript/docker-compose.yaml @@ -0,0 +1,26 @@ +version: '3' +# Replace network name with the fabric test-network name +services: + redis: + image: 'redis' + ports: + - 6379:6379 + networks: + - net_test + + nodeapp: + image: 'fabricapp' + ports: + - 3000:3000 + env_file: + - ./.env + environment: + - REDIS_HOST=redis + - AS_LOCAL_HOST=false + networks: + - net_test + + +networks: + net_test: + external: true