Yes, you’ve heard, and have looked around here, here, or maybe here, it’s different to Linux with a simple volume mapped to your local machine. In OSX world, Docker is working in a VirtualBox…
So the file permission got be a problem, you can’t simply change its group or permission, neither. let’s fix it.
The idea is like this:
- Everything in Docker operate as normal.
- Create a new docker container that serves a ssh endpoint.
- Connect to that ssh point, and get access to the file system inside our docker.
- Get deeper, map the files of docker volume to local file system.
Let’s get started.
Run your containers as normal.
Go to your docker-compose directory, edit the file docker-compose.yml
.
1 | sshd: |
Run it
1 | docker-compose up sshd |
Mount the docker file system to your local file system:
1 | sshfs -p 2222 root@youdar.dev:/var/www/html ~/docker/nhweb -oauto_cache,reconnect,defer_permissions,noappledouble,negative_vncache,volname=nhweb |
Notes:
volname=nhweb
is the directory name of the mount point.~/docker/nhweb
is the mount point.- These options are selected for more friendly and less errors.
Now your local folder ~/docker/nhweb
are just the same as inside the Docker, but with the right access rights.
Notes:
- All the file created by you will on the name of root user inside the docker.
- If you want to use another limited user with sudo permission, use
docker
.
References: