在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存储卷的基本方法,包括创建、挂载、备份恢复以及删除数据卷。