docker compose - ignore build context path












0














I have docker-compose.yml file with build context property specified like this:



version: '3'
services:
my-service:
container_name: my-service
image: my-service
build:
context: foo
ports:
- 8088:8088

# other services


When I run docker-compose up locally, build context does exist and everything works fine. However, my CI server is configured to use the same docker-compose.yml file but there is no build context (images are copied as .tar archive via SSH and then loaded via docker load).
Now I've got an error:




ERROR: build path /foo either does not exist, is not accessible, or is
not a valid URL.




So I've tried to find a way to suppress looking for this build context when running docker-compose up (I don't want to build images cause they are already up-to-date), but docker-compose up --no-build does not work. Any ideas?










share|improve this question






















  • just give set it to an empty dir if you want to avoid setting it to .. But the directory must exists thats why (amongst other reasons) a common practice to create a docker dir in the project root, and move the Docerfile into it. Then build in the docker directory which will be an empty context.
    – lependu
    Nov 20 at 9:43












  • But the point is that I don't want to modify docker-compose.yml file. This file is copied from repository to CI server, so I don't want to change it (I would have to use some regex probably). Alternatively, I can maintain two separate compose files, but I'd like to avoid it if it's unnecessary
    – k13i
    Nov 20 at 10:01






  • 1




    Did you try to add a foo directory in your root of a repo with am empty .keep or Readme file in it which explains why the empty dir is necessary.
    – lependu
    Nov 20 at 11:18










  • On CI server there is no foo directory. There is just .tar archive with docker image
    – k13i
    Nov 20 at 12:11


















0














I have docker-compose.yml file with build context property specified like this:



version: '3'
services:
my-service:
container_name: my-service
image: my-service
build:
context: foo
ports:
- 8088:8088

# other services


When I run docker-compose up locally, build context does exist and everything works fine. However, my CI server is configured to use the same docker-compose.yml file but there is no build context (images are copied as .tar archive via SSH and then loaded via docker load).
Now I've got an error:




ERROR: build path /foo either does not exist, is not accessible, or is
not a valid URL.




So I've tried to find a way to suppress looking for this build context when running docker-compose up (I don't want to build images cause they are already up-to-date), but docker-compose up --no-build does not work. Any ideas?










share|improve this question






















  • just give set it to an empty dir if you want to avoid setting it to .. But the directory must exists thats why (amongst other reasons) a common practice to create a docker dir in the project root, and move the Docerfile into it. Then build in the docker directory which will be an empty context.
    – lependu
    Nov 20 at 9:43












  • But the point is that I don't want to modify docker-compose.yml file. This file is copied from repository to CI server, so I don't want to change it (I would have to use some regex probably). Alternatively, I can maintain two separate compose files, but I'd like to avoid it if it's unnecessary
    – k13i
    Nov 20 at 10:01






  • 1




    Did you try to add a foo directory in your root of a repo with am empty .keep or Readme file in it which explains why the empty dir is necessary.
    – lependu
    Nov 20 at 11:18










  • On CI server there is no foo directory. There is just .tar archive with docker image
    – k13i
    Nov 20 at 12:11
















0












0








0







I have docker-compose.yml file with build context property specified like this:



version: '3'
services:
my-service:
container_name: my-service
image: my-service
build:
context: foo
ports:
- 8088:8088

# other services


When I run docker-compose up locally, build context does exist and everything works fine. However, my CI server is configured to use the same docker-compose.yml file but there is no build context (images are copied as .tar archive via SSH and then loaded via docker load).
Now I've got an error:




ERROR: build path /foo either does not exist, is not accessible, or is
not a valid URL.




So I've tried to find a way to suppress looking for this build context when running docker-compose up (I don't want to build images cause they are already up-to-date), but docker-compose up --no-build does not work. Any ideas?










share|improve this question













I have docker-compose.yml file with build context property specified like this:



version: '3'
services:
my-service:
container_name: my-service
image: my-service
build:
context: foo
ports:
- 8088:8088

# other services


When I run docker-compose up locally, build context does exist and everything works fine. However, my CI server is configured to use the same docker-compose.yml file but there is no build context (images are copied as .tar archive via SSH and then loaded via docker load).
Now I've got an error:




ERROR: build path /foo either does not exist, is not accessible, or is
not a valid URL.




So I've tried to find a way to suppress looking for this build context when running docker-compose up (I don't want to build images cause they are already up-to-date), but docker-compose up --no-build does not work. Any ideas?







docker docker-compose continuous-integration suppress






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 20 at 8:43









k13i

622520




622520












  • just give set it to an empty dir if you want to avoid setting it to .. But the directory must exists thats why (amongst other reasons) a common practice to create a docker dir in the project root, and move the Docerfile into it. Then build in the docker directory which will be an empty context.
    – lependu
    Nov 20 at 9:43












  • But the point is that I don't want to modify docker-compose.yml file. This file is copied from repository to CI server, so I don't want to change it (I would have to use some regex probably). Alternatively, I can maintain two separate compose files, but I'd like to avoid it if it's unnecessary
    – k13i
    Nov 20 at 10:01






  • 1




    Did you try to add a foo directory in your root of a repo with am empty .keep or Readme file in it which explains why the empty dir is necessary.
    – lependu
    Nov 20 at 11:18










  • On CI server there is no foo directory. There is just .tar archive with docker image
    – k13i
    Nov 20 at 12:11




















  • just give set it to an empty dir if you want to avoid setting it to .. But the directory must exists thats why (amongst other reasons) a common practice to create a docker dir in the project root, and move the Docerfile into it. Then build in the docker directory which will be an empty context.
    – lependu
    Nov 20 at 9:43












  • But the point is that I don't want to modify docker-compose.yml file. This file is copied from repository to CI server, so I don't want to change it (I would have to use some regex probably). Alternatively, I can maintain two separate compose files, but I'd like to avoid it if it's unnecessary
    – k13i
    Nov 20 at 10:01






  • 1




    Did you try to add a foo directory in your root of a repo with am empty .keep or Readme file in it which explains why the empty dir is necessary.
    – lependu
    Nov 20 at 11:18










  • On CI server there is no foo directory. There is just .tar archive with docker image
    – k13i
    Nov 20 at 12:11


















just give set it to an empty dir if you want to avoid setting it to .. But the directory must exists thats why (amongst other reasons) a common practice to create a docker dir in the project root, and move the Docerfile into it. Then build in the docker directory which will be an empty context.
– lependu
Nov 20 at 9:43






just give set it to an empty dir if you want to avoid setting it to .. But the directory must exists thats why (amongst other reasons) a common practice to create a docker dir in the project root, and move the Docerfile into it. Then build in the docker directory which will be an empty context.
– lependu
Nov 20 at 9:43














But the point is that I don't want to modify docker-compose.yml file. This file is copied from repository to CI server, so I don't want to change it (I would have to use some regex probably). Alternatively, I can maintain two separate compose files, but I'd like to avoid it if it's unnecessary
– k13i
Nov 20 at 10:01




But the point is that I don't want to modify docker-compose.yml file. This file is copied from repository to CI server, so I don't want to change it (I would have to use some regex probably). Alternatively, I can maintain two separate compose files, but I'd like to avoid it if it's unnecessary
– k13i
Nov 20 at 10:01




1




1




Did you try to add a foo directory in your root of a repo with am empty .keep or Readme file in it which explains why the empty dir is necessary.
– lependu
Nov 20 at 11:18




Did you try to add a foo directory in your root of a repo with am empty .keep or Readme file in it which explains why the empty dir is necessary.
– lependu
Nov 20 at 11:18












On CI server there is no foo directory. There is just .tar archive with docker image
– k13i
Nov 20 at 12:11






On CI server there is no foo directory. There is just .tar archive with docker image
– k13i
Nov 20 at 12:11



















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53389151%2fdocker-compose-ignore-build-context-path%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53389151%2fdocker-compose-ignore-build-context-path%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Create new schema in PostgreSQL using DBeaver

Deepest pit of an array with Javascript: test on Codility

Costa Masnaga