# 1. 拉取 alpine 镜像
docker pull alpine
# 2. 创建本地数据卷目录
mkdir -p ~/test_volume
# 3. 运行容器并挂载数据卷
docker run -d --name test_alpine \
-v ~/test_volume:/data \
alpine sleep infinity
# 4. 在容器中创建测试文件
docker exec -it test_alpine sh -c "echo 'Hello, Alpine!' > /data/testfile.txt"
# 5. 备份数据卷
docker run --rm \
--volume ~/test_volume:/volume \
--volume $(pwd):/backup \
busybox tar cvf /backup/test_volume_backup_$(date +%F).tar.gz -C /volume .
# 6. 删除数据卷中的内容(模拟删除数据卷)
rm -rf ~/test_volume/*
# 7. 从备份中恢复数据卷
docker run --rm \
--volume ~/test_volume:/volume \
--volume $(pwd):/backup \
busybox tar xvf /backup/test_volume_backup_$(date +%F).tar.gz -C /volume --strip 1
# 8. 验证恢复的数据
docker exec -it test_alpine sh -c "cat /data/testfile.txt"
# 应输出 "Hello, Alpine!"
docker镜像迁移涉及到数据卷的迁移,问AI写了一个测试步骤,实测是可以的