简体   繁体   中英

Mounting volumes on Bluemix containers and sharing between them does not work

I've created a volume with

$ cf ic volume create mosquitto_config

This information shows up as expected:

$ cf ic volume list
mosquitto_config

Then, I've created two containers that are based on an image, which contains the VOLUME ["/etc/mosquitto"] line in its Dockerfile, and on which I'm able to log in via SSH:

$ cf ic run -p 22:22 --volume mosquitto_config:/etc/mosquitto --name ssh-test registry.ng.bluemix.net/{reg-name}/{image-name}:latest
$ cf ic run -p 22:22 --volume mosquitto_config:/etc/mosquitto --name ssh-test-2 registry.ng.bluemix.net/{reg-name}/{image-name}:latest

After logging in, I see the mount point /etc/mosquitto as directory on both containers. However, if I create a file in that directory within one container, the new file does not show up in the other container. As far as I understand the volume concept, the new file should show up in the other container. Is it currently not working or how do you set it up correctly?

this kind of way to share volumes I think is not supported by docker.

In order to give a container access to another container's volumes, you can simply give the –volumes-from argument to docker run. For example:

$ docker run -it -h NEWCONTAINER --volumes-from container-test debian /bin/bash

All the volumes mounted in 'container-test' will be available to 'NEWCONTAINER' (with the same mount options)

It's important to note that it works even if the container-test is not running: a volume will never be deleted as long as a container is linked to it.

For further help check this url http://container-solutions.com/understanding-volumes-docker/

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