docker volume 命令-v和--volumes-from. 在我看来,他们正在做同样的工作,请考虑以下场景。
首先让我们创建一个myvol使用命令命名的卷:
$ docker volume create myvol
Run Code Online (Sandbox Code Playgroud)
现在创建并运行一个名为c1使用myvol并进入他的 bash的容器:
$ docker run -it --name c1 -v myvol:/data nginx bash
Run Code Online (Sandbox Code Playgroud)
让我们test.txt在容器的挂载目录中创建一个文件:
root@766f90ebcf37:/# touch /data/test.txt
root@766f90ebcf37:/# ls /data
test.txt
Run Code Online (Sandbox Code Playgroud)
-volume标志:现在创建另一个名为的容器c2也使用myvol:
$ docker run -it --name c2 -v myvol:/data nginx bash
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,新生成的容器c2也可以访问myvol
root@393418742e2c:/# ls /data
test.txt
Run Code Online (Sandbox Code Playgroud)
--volumes-from创建使用容器c3中的卷命名的容器c1
$ docker run -it --name c3 …Run Code Online (Sandbox Code Playgroud)