Docker 移动容器内容和重新装入卷

Docker 移动容器内容和重新装入卷,docker,docker-compose,docker-volume,Docker,Docker Compose,Docker Volume,在运行docker的旧服务器上,我有两个运行ipam和mysql的容器。mysql已经挂载了一个卷,在停止容器后,我将该卷的内容复制到一个新的服务器上,复制到目录中: /mnt/dockerdata/vols/ipam/phpipam mysql 接下来,我在新服务器上创建一个卷:docker volume create--driver local--opt device=/mnt/dockerdata/vols/ipam/phpipam mysql phpipam mysql--opt typ

在运行docker的旧服务器上,我有两个运行ipam和mysql的容器。mysql已经挂载了一个卷,在停止容器后,我将该卷的内容复制到一个新的服务器上,复制到目录中:
/mnt/dockerdata/vols/ipam/phpipam mysql

接下来,我在新服务器上创建一个卷:
docker volume create--driver local--opt device=/mnt/dockerdata/vols/ipam/phpipam mysql phpipam mysql--opt type=volume

接下来,我创建了一个docker-compose.yml文件,试图使其可重复。这里不是真的需要,但我想为其他项目学习。所以我创建了这个文件:(我知道密码,但它只是我的实验室)

但这会返回以下错误:

Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Creating ipamdb ... error

ERROR: for ipamdb  Cannot create container for service ipam-mysql: failed to mount local volume: mount /mnt/dockerdata/vols/ipam/phpipam-mysql:/var/lib/docker/volumes/phpipam-mysql/_data: no such device

ERROR: for ipam-mysql  Cannot create container for service ipam-mysql: failed to mount local volume: mount /mnt/dockerdata/vols/ipam/phpipam-mysql:/var/lib/docker/volumes/phpipam-mysql/_data: no such device
ERROR: Encountered errors while bringing up the project.
当我不使用
external:true
选项时,会创建一个我不想要的新空卷。我尝试使用ext4类型创建卷,但这并没有改变错误


有什么提示吗?

您创建的卷被设置为装载设备,而不是文件夹,因此
没有此类设备
错误

要创建绑定到文件夹的卷,请执行以下操作:

volume create--driver local--opt device=/mnt/dockerdata/vols/ipam/phpipam mysql phpipam mysql--opt type=none--opt o=bind

您是否可以直接将主机目录名放入
ipam mysql
容器
volumes:
块中,而不是尝试间接使用名为volume的Docker?我可以这样做,这实际上就是此Docker文件给出的示例。但我在docker文档中读到,最好使用卷。另外,我希望docker使用的所有卷都位于不同的磁盘上,以便更轻松地传输到新系统。
Building with native build. Learn about native build in Compose here: https://docs.docker.com/go/compose-native-build/
Creating ipamdb ... error

ERROR: for ipamdb  Cannot create container for service ipam-mysql: failed to mount local volume: mount /mnt/dockerdata/vols/ipam/phpipam-mysql:/var/lib/docker/volumes/phpipam-mysql/_data: no such device

ERROR: for ipam-mysql  Cannot create container for service ipam-mysql: failed to mount local volume: mount /mnt/dockerdata/vols/ipam/phpipam-mysql:/var/lib/docker/volumes/phpipam-mysql/_data: no such device
ERROR: Encountered errors while bringing up the project.