I create an app using react and node express. I have a problem when I run a docker image. It has been built successfully. But when I run the image it couldn't go because of ./aws/config problem.
Docker build:
docker build -t test2 .
[+] Building 100.0s (11/11) FINISHED
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 210B 0.1s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/node:14-alpine 2.6s
=> [auth] library/node:pull token for registry-1.docker.io 0.0s
=> [internal] load build context 4.1s
=> => transferring context: 3.35MB 3.8s
=> CACHED [1/5] FROM docker.io/library/node:14-alpine@sha256:4aff4ba0da347e51561587eba037 0.0s
=> [2/5] COPY . /src 12.6s
=> [3/5] WORKDIR /src 0.0s
=> [4/5] RUN npm install 54.3s
=> [5/5] RUN npm run build 17.1s
=> exporting to image 9.1s
=> => exporting layers 9.1s
=> => writing image sha256:d7b426fed3e0fc05947bdc966ad6924e15882b9607a4f89171b472cb6e3719 0.0s
=> => naming to docker.io/library/test2
Docker run :
docker container run -p 3000:3000 --rm test2
/src/node_modules/aws-sdk/lib/node_loader.js:133
if (fileInfo.isConfig) throw err;
^
Error: ENOENT: no such file or directory, open '/root/.aws/config'
at Object.openSync (fs.js:498:3)
at Object.readFileSync (fs.js:394:35)
at Object.readFileSync (/src/node_modules/aws-sdk/lib/util.js:95:26)
at parseFile (/src/node_modules/aws-sdk/lib/shared-ini/ini-loader.js:6:38)
at IniLoader.loadFrom (/src/node_modules/aws-sdk/lib/shared-ini/ini-loader.js:72:25)
at getRegion (/src/node_modules/aws-sdk/lib/node_loader.js:131:32)
at Config.region (/src/node_modules/aws-sdk/lib/node_loader.js:186:18)
at Config.set (/src/node_modules/aws-sdk/lib/config.js:600:39)
at Config.<anonymous> (/src/node_modules/aws-sdk/lib/config.js:359:12)
at Config.each (/src/node_modules/aws-sdk/lib/util.js:520:32) {
errno: -2,
syscall: 'open',
code: 'ENOENT',
path: '/root/.aws/config'
}
Dockerfile:
FROM node:14-alpine
COPY . /src
WORKDIR /src
RUN npm install
RUN npm run build
EXPOSE 3000
CMD ["node", "server.js"]