docker 共享目录

我们可以将目录或磁盘直接关联到docker容器中,这样容器中数据写入可以直接保存到本地的磁盘下了

1.挂载本地的目录到容器里

docker run -tid -v /data/:/data centos bash

-v 用来指定挂载目录,:前面的/data/为宿主机本地目录,:后面的/data/为容器里的目录,会在容器中自动创建

其实我们挂载目录的时候,可以指定容器name,如果不指定就随机定义了。比如上面我们没有指定,它就生成了一个名字为relaxed_franklin,这个名字可以使用命令 docker ps 看最右侧一列

docker run -tid -v /data/:/data --name testvol centos bash

2.挂载数据卷

启动一个新的容器,并将原来容器作为“共享目录容器”

docker run -itd --volumes-from relaxed_franklin centos bash

--volumes-from : 指定共享目录的容器名,容器必须是带-v启动的

3. 定义数据卷容器

有时候,我们需要多个容器之间相互共享数据,类似于linux里面的NFS,所以就可以搭建一个专门的数据卷容器,然后其他容器直接挂载该数据卷。 首先建立数据卷容器

docker run -itd -v /data/ --name testvol centos bash

注意这里的/data/是容器的/data目录,并非本地的/data/目录。

然后让其他容器挂载该数据卷

docker run -itd  --volumes-from testvol centos bash

最后更新于

这有帮助吗?