I am trying to use the docker ADD command within my Dockerfile which I am building via a pipeline.
My pipeline keeps failing when the docker build gets here:
ADD $PROJECT_ROOT/node_modules /server
ADD $PROJECT_ROOT/db /server
ADD $PROJECT_ROOT/env /server
ADD $PROJECT_ROOT/server /server
ADD $PROJECT_ROOT/package.json /server
ADD $PROJECT_ROOT/package-lock.json /server
ADD $PROJECT_ROOT/server.js /server
I get the error:
/var/lib/docker/165536.165536/tmp/docker-builder953599875/opt/atlassian/pipelines/agent/build/node_modules: no such directory
$PROJECT_ROOT is passed into my Dockerfile as an argument and is equal to the $BITBUCKET_CLONE_DIR variable.
Here's the pipeline step:
- step:
name: docker build
services:
- docker
caches:
- docker
script:
- docker build -t my-app . --build-arg ENV=staging --build-arg PROJECT_ROOT=$BITBUCKET_CLONE_DIR
- docker tag my-app my.cr.io/my-app
- docker save --output tmp-image.docker my.cr.io/my-app
artifacts:
- tmp-image.docker
Somehow, it looks like Docker is always appending the directory "/var/lib/docker/165536.165536/tmp/docker-builder953599875" to the beginning of the source path when using ADD. How do I fix this?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.