Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Can't use Docker ADD command within Dockerfile for pipeline

chhansen July 1, 2020

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?

1 answer

1 accepted

0 votes
Answer accepted
chhansen July 1, 2020

Nevermind

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events