我知道我可以使用类似于
docker run -t -i -v '/on/my/host:/on/the/container' ubuntu /bin/bash
是否有一种方法可以创建多个主机-容器对?例如,一个逗号分隔的列表,或传递在一个数组?
我知道我可以使用类似于
docker run -t -i -v '/on/my/host:/on/the/container' ubuntu /bin/bash
是否有一种方法可以创建多个主机-容器对?例如,一个逗号分隔的列表,或传递在一个数组?
当前回答
对于一个可运行的例子:
docker run -v /Users/brandomiranda/iit-term-synthesis:/home/bot/iit-term-synthesis \
-v /Users/brandomiranda/pycoq:/home/bot/pycoq \
-v /Users/brandomiranda/ultimate-utils:/home/bot/ultimate-utils \
-ti brandojazz/iit-term-synthesis:test bash
但首先要:
docker pull brandojazz/iit-term-synthesis:test
其他回答
在Windows上:如果你必须挂载两个目录E:\data\dev和E:\data\dev2
Use:
docker run -v E:\data\dev:c:/downloads -v E:\data\dev2 c:/downloads2 -i --publish 1111:80 -P SomeBuiltContainerName:SomeLabel
你可以在docker run命令中多次使用-v选项挂载容器中的多个目录:
docker run -t -i \
-v '/on/my/host/test1:/on/the/container/test1' \
-v '/on/my/host/test2:/on/the/container/test2' \
ubuntu /bin/bash
或者你可以
docker run -v /var/volume1 -v /var/volume2 DATA busybox true
对于一个可运行的例子:
docker run -v /Users/brandomiranda/iit-term-synthesis:/home/bot/iit-term-synthesis \
-v /Users/brandomiranda/pycoq:/home/bot/pycoq \
-v /Users/brandomiranda/ultimate-utils:/home/bot/ultimate-utils \
-ti brandojazz/iit-term-synthesis:test bash
但首先要:
docker pull brandojazz/iit-term-synthesis:test
Docker现在建议迁移到使用——mount。
在当前的Docker文档中也详细解释了多卷挂载。
来自:https://docs.docker.com/storage/bind-mounts/
$ docker run -d \
-it \
--name devtest \
--mount type=bind,source="$(pwd)"/target,target=/app \
--mount type=bind,source="$(pwd)"/target,target=/app2,readonly,bind-propagation=rslave \
nginx:latest
原来的老答案应该仍然有效;只是想让答案与目前最知名的方法保持一致。