Nmake can't locate files within a docker mount
up vote
6
down vote
favorite
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:
- All the files are there in the container.
- When doing
docker cp project/ container:C:/test/
and running my build script it finds all the files and compiles successfully. - 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
add a comment |
up vote
6
down vote
favorite
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:
- All the files are there in the container.
- When doing
docker cp project/ container:C:/test/
and running my build script it finds all the files and compiles successfully. - 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
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 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 at 19:14
add a comment |
up vote
6
down vote
favorite
up vote
6
down vote
favorite
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:
- All the files are there in the container.
- When doing
docker cp project/ container:C:/test/
and running my build script it finds all the files and compiles successfully. - 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
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:
- All the files are there in the container.
- When doing
docker cp project/ container:C:/test/
and running my build script it finds all the files and compiles successfully. - 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
docker compilation mount nmake
edited Nov 14 at 14:46
asked Nov 12 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 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 at 19:14
add a comment |
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 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 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 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 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 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 at 19:14
add a comment |
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',
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 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 at 19:14