I'm trying to understand how the file structure works inside docker containers, along with understanding volumes and mounts.
One thing that's confusing me is that when I docker exec -it <container id> /bin/bash
into a container, I can't cd
into some directories.
For example, if I run cd logs
, I'd expect to be able then run ls
to get a list of log files, but I get No such file or directory
following the cd logs
command.
I can however run cd wwwroot
and navigate around.
In the image of the terminal below, you can see the result of ls
once I have exec'd in.
I can run cat logs\2019-07-04.log.json
for example, to print the file contents to the screen. But I still can't do cd logs
.
I have tried the following also:
It's like the file path is a 'key' rather than a proper directory structure.
So this appears to be limited to the directories
that the application writes to at runtime, while the files that are loaded in on build have a proper file structure.
Is this specific to .NET Core on linux containers? Why does it work like this?