在Ubuntu中管理Docker存储卷可以通过以下几种方式进行:
使用docker volume create
命令:可以手动创建数据卷。例如,创建一个名为my_volume
的数据卷:
docker volume create my_volume
在运行容器时创建:也可以在启动容器时使用-v
或--mount
参数来创建数据卷。例如,运行一个容器并将数据卷挂载到容器的/data
目录:
docker run -d -v my_volume:/data my_image
挂载宿主机的目录到容器:使用-v
标记指定挂载一个本地主机的目录到容器中。例如,启动一个数据库备份的容器,并将宿主机的/opt/backup-x-files
目录挂载到容器的/app/backup-x-files
目录:
docker run -d --name backup-x --restart=always -p 9977:9977 -v /opt/backup-x-files:/app/backup-x-files jeessy/backup-x
使用--volumes-from
参数:该参数允许在启动一个容器时挂载另一个容器中的数据卷。这在多个容器之间共享数据时非常有用。例如,创建并运行一个名为data_container
的容器,它拥有一个或多个数据卷,然后在新的容器中使用--volumes-from
挂载data_container
中的数据卷:
docker run -d --name=data_container -v my_volume:/app/data my_image
docker run -d --volumes-from data_container -v /local/path:/container/path new_container
备份数据卷:可以使用--volumes-from
标志创建一个挂载数据卷容器的容器,并从本地主机挂载当前目录的备份目录。例如,将dbdata
卷备份为本地的/backup/backup.tar
:
docker run --rm --volumes-from dbdata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
恢复数据卷:首先创建一个带有数据卷的容器(如dbdata2
),然后创建另一个容器挂载dbdata2
的容器,并使用untar
解压备份文件到挂载的容器卷中。例如,恢复数据到容器:
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
docker run --rm --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
删除不再使用的数据卷可以通过docker volume rm
命令来实现。例如,删除名为my_volume
的数据卷:
docker volume rm my_volume
以上就是在Ubuntu系统中管理Docker存储卷的基本方法,包括创建、挂载、备份恢复以及删除数据卷。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Ubuntu下phpstorm如何调试代码