Nmake can't locate files within a docker mount












6














I have a docker container I use to compile a project, build a setup and export it out of the container. For this I mount the checked out sources (using $(Build.SourcesDirectory):C:/git/ in the volumes section of the TFS docker run task) and an output folder in 2 different folders. Now my project contains a submodule which is also correctly checked out, all the files are there. However, when my script executes nmake I get the following error:



Cannot find file: ContainerMappedDirectories347DEF6A-D43B-48C0-A5DF-CE228E5A10FDsrcSubmoduleSubmodule.pro



Where the path of the mapped container maps to C:/git/ inside the windows docker container(running on a windows host). I was able to start the docker container with an interactive powershell and mount the folder and find out the following things:




  1. All the files are there in the container.

  2. When doing docker cp project/ container:C:/test/ and running my build script it finds all the files and compiles successfully.

  3. when copying the mounted project within docker with powershell and starting the build script it also works.


So it seems nmake has trouble traversing a mounted container within docker. Any idea how to fix this? I'd rather avoid copying the project into the container because that takes quite some time as compared to simply mounting the checked out project.










share|improve this question
























  • why does the error message contain '' backslashes? When you 'exec' into your running container, are you able to see all of the mounted directories and the files in them? Have you looked at the permissions on them?
    – Tom Drake
    Nov 20 '18 at 20:50










  • yes all the mounted files are where they should be(see #1). As I said my mountpoint is directly on C and the folder it mounts into is called git. So ContainerMappedDirectories has to be in the docker root, the hash after that has to be the mount folder and src is the first subfolder of my mounted folder. Already checked permissions, that doesn't seem to be it.
    – jaaq
    Nov 22 '18 at 19:14
















6














I have a docker container I use to compile a project, build a setup and export it out of the container. For this I mount the checked out sources (using $(Build.SourcesDirectory):C:/git/ in the volumes section of the TFS docker run task) and an output folder in 2 different folders. Now my project contains a submodule which is also correctly checked out, all the files are there. However, when my script executes nmake I get the following error:



Cannot find file: ContainerMappedDirectories347DEF6A-D43B-48C0-A5DF-CE228E5A10FDsrcSubmoduleSubmodule.pro



Where the path of the mapped container maps to C:/git/ inside the windows docker container(running on a windows host). I was able to start the docker container with an interactive powershell and mount the folder and find out the following things:




  1. All the files are there in the container.

  2. When doing docker cp project/ container:C:/test/ and running my build script it finds all the files and compiles successfully.

  3. when copying the mounted project within docker with powershell and starting the build script it also works.


So it seems nmake has trouble traversing a mounted container within docker. Any idea how to fix this? I'd rather avoid copying the project into the container because that takes quite some time as compared to simply mounting the checked out project.










share|improve this question
























  • why does the error message contain '' backslashes? When you 'exec' into your running container, are you able to see all of the mounted directories and the files in them? Have you looked at the permissions on them?
    – Tom Drake
    Nov 20 '18 at 20:50










  • yes all the mounted files are where they should be(see #1). As I said my mountpoint is directly on C and the folder it mounts into is called git. So ContainerMappedDirectories has to be in the docker root, the hash after that has to be the mount folder and src is the first subfolder of my mounted folder. Already checked permissions, that doesn't seem to be it.
    – jaaq
    Nov 22 '18 at 19:14














6












6








6


2





I have a docker container I use to compile a project, build a setup and export it out of the container. For this I mount the checked out sources (using $(Build.SourcesDirectory):C:/git/ in the volumes section of the TFS docker run task) and an output folder in 2 different folders. Now my project contains a submodule which is also correctly checked out, all the files are there. However, when my script executes nmake I get the following error:



Cannot find file: ContainerMappedDirectories347DEF6A-D43B-48C0-A5DF-CE228E5A10FDsrcSubmoduleSubmodule.pro



Where the path of the mapped container maps to C:/git/ inside the windows docker container(running on a windows host). I was able to start the docker container with an interactive powershell and mount the folder and find out the following things:




  1. All the files are there in the container.

  2. When doing docker cp project/ container:C:/test/ and running my build script it finds all the files and compiles successfully.

  3. when copying the mounted project within docker with powershell and starting the build script it also works.


So it seems nmake has trouble traversing a mounted container within docker. Any idea how to fix this? I'd rather avoid copying the project into the container because that takes quite some time as compared to simply mounting the checked out project.










share|improve this question















I have a docker container I use to compile a project, build a setup and export it out of the container. For this I mount the checked out sources (using $(Build.SourcesDirectory):C:/git/ in the volumes section of the TFS docker run task) and an output folder in 2 different folders. Now my project contains a submodule which is also correctly checked out, all the files are there. However, when my script executes nmake I get the following error:



Cannot find file: ContainerMappedDirectories347DEF6A-D43B-48C0-A5DF-CE228E5A10FDsrcSubmoduleSubmodule.pro



Where the path of the mapped container maps to C:/git/ inside the windows docker container(running on a windows host). I was able to start the docker container with an interactive powershell and mount the folder and find out the following things:




  1. All the files are there in the container.

  2. When doing docker cp project/ container:C:/test/ and running my build script it finds all the files and compiles successfully.

  3. when copying the mounted project within docker with powershell and starting the build script it also works.


So it seems nmake has trouble traversing a mounted container within docker. Any idea how to fix this? I'd rather avoid copying the project into the container because that takes quite some time as compared to simply mounting the checked out project.







docker compilation mount nmake






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 14:46

























asked Nov 12 '18 at 14:33









jaaq

837




837












  • why does the error message contain '' backslashes? When you 'exec' into your running container, are you able to see all of the mounted directories and the files in them? Have you looked at the permissions on them?
    – Tom Drake
    Nov 20 '18 at 20:50










  • yes all the mounted files are where they should be(see #1). As I said my mountpoint is directly on C and the folder it mounts into is called git. So ContainerMappedDirectories has to be in the docker root, the hash after that has to be the mount folder and src is the first subfolder of my mounted folder. Already checked permissions, that doesn't seem to be it.
    – jaaq
    Nov 22 '18 at 19:14


















  • why does the error message contain '' backslashes? When you 'exec' into your running container, are you able to see all of the mounted directories and the files in them? Have you looked at the permissions on them?
    – Tom Drake
    Nov 20 '18 at 20:50










  • yes all the mounted files are where they should be(see #1). As I said my mountpoint is directly on C and the folder it mounts into is called git. So ContainerMappedDirectories has to be in the docker root, the hash after that has to be the mount folder and src is the first subfolder of my mounted folder. Already checked permissions, that doesn't seem to be it.
    – jaaq
    Nov 22 '18 at 19:14
















why does the error message contain '' backslashes? When you 'exec' into your running container, are you able to see all of the mounted directories and the files in them? Have you looked at the permissions on them?
– Tom Drake
Nov 20 '18 at 20:50




why does the error message contain '' backslashes? When you 'exec' into your running container, are you able to see all of the mounted directories and the files in them? Have you looked at the permissions on them?
– Tom Drake
Nov 20 '18 at 20:50












yes all the mounted files are where they should be(see #1). As I said my mountpoint is directly on C and the folder it mounts into is called git. So ContainerMappedDirectories has to be in the docker root, the hash after that has to be the mount folder and src is the first subfolder of my mounted folder. Already checked permissions, that doesn't seem to be it.
– jaaq
Nov 22 '18 at 19:14




yes all the mounted files are where they should be(see #1). As I said my mountpoint is directly on C and the folder it mounts into is called git. So ContainerMappedDirectories has to be in the docker root, the hash after that has to be the mount folder and src is the first subfolder of my mounted folder. Already checked permissions, that doesn't seem to be it.
– jaaq
Nov 22 '18 at 19:14












0






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%2f53264361%2fnmake-cant-locate-files-within-a-docker-mount%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






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%2f53264361%2fnmake-cant-locate-files-within-a-docker-mount%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







這個網誌中的熱門文章

Xamarin.form Move up view when keyboard appear

Post-Redirect-Get with Spring WebFlux and Thymeleaf

Anylogic : not able to use stopDelay()