Home > Back-end >  How do multiple containers access the directory in other container
How do multiple containers access the directory in other container

Time:10-23

How do multiple containers(create from same image) access the directory(packaged in the image) in other container? There are some ways not elegant:

  1. Mount directory into a shared volume or host path. When a container changed files in the directory, other containers will perceive it. Is there any idea to make shared volume working like copy-on-write?
  2. Create a volume for each container, and copy directory into the volume. In this way, the directory have to save multiple copies in disk.

I've browsed this problem [https://stackoverflow.com/questions/29550736/can-i-mount-docker-host-directory-as-copy-on-write-overlay], I don't want containers to run in privileged mode. Is there a better idea?

CodePudding user response:

Per design one container cannot access the files inside another container. You will need to store the data outside of a container, then mount it via volume mount or bind mount. Alternatively you could try to perform some NFS/SMB/... mount of shared storage inside the container.

This is completely independent from running a container in host mode.

CodePudding user response:

Your link in the question already addressed docker very well. Here's the official K8s document for the similar capability by setting the pod attribute shareProcessNamespace: true and securityContext.capabilities.add: ["SYS_PTRACE"].

  • Related