简体   繁体   中英

Docker File Location for Asp.Net core

I am running Docker in Windows, using Linux containers.

I have an asp.net core hello-world app that writes a text file:

        var path = Path.Combine(
            Directory.GetCurrentDirectory(), "text.txt");

        System.IO.File.WriteAllText(path, "text");

Directory.GetCurrentDirectory() comes back as "/app"

In my docker-compose I map /app to /usr/xxxxx

volumes:
  - /app:/usr/xxxxx

My question is: Where on my Windows file system is the /usr/xxxxx? I want to back it up so that it stays after containers are removed.

Volumes (actually bind-mounts ) use the format host-path:container-path .

It looks like you put it in the wrong order in the docker-compose file. Also, as there is no folder called /usr/xxx on windows, just use a path that exists instead.

For example, you can create a directory called "backup" inside the directory with the docker-compose file, and then modify the docker-compose file like so

volumes:
  -  "./backup:/app"

In the standard Dockerfile that Visual Studio generates, your application dll's are copied into /app . Therefore, it might be a bad choice to use /app . I'm actually not sure what happens if the bind-mount directory already exists with different data inside the container. But you could just write the file to another directory and use that instead.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM