gpt4 book ai didi

docker - 使用criu进行Docker容器迁移

转载 作者:行者123 更新时间:2023-12-02 19:41:45 25 4
gpt4 key购买 nike

在Saied Kazemi的帮助下,我可以通过docker suspend and resume using criu在Ubuntu 14上使用criu来检查点并迁移容器

现在,我正在尝试将此容器从一个位置迁移到另一个位置。

我正在使用以下步骤:

export cid=$(docker run -d ubuntu tail -f /dev/null)
docker exec $cid touch /test.walid
mkdir /tmp/docker-migration
mkdir /tmp/docker-migration/$cid
docker checkpoint --image-dir=/tmp/docker-migration/$cid $cid
ssh walid@192.168.1.10 mkdir /tmp/docker-migration
ssh walid@192.168.1.10 mkdir /tmp/docker-migration/$cid
scp -r /tmp/docker-migration/$cid walid@192.168.1.10:/tmp/docker-migration
ssh walid@192.168.1.10 mkdir /tmp/$cid
scp -r /var/lib/docker/0.0/containers/$cid walid@192.168.1.13:/tmp
ssh -t walid@192.168.1.10 sudo mv /tmp/$cid /var/lib/docker/0.0/containers/
ssh -t walid@192.168.1.10 sudo docker restore --force=true --image-dir=/tmp/docker-migration/$cid $cid

得到了这个回应

来自守护程序的错误响应:没有这样的容器:fea338e81750b2377c2a845e30c49b7055519e39448091715c2c6a7896da3562
错误:无法还原一个或多个容器

两台机器都安装了docker和criu,并且checkpoint可以单独工作。

最佳答案

使用CRIU的Docker容器迁移仍在开发中。到目前为止,检查点和还原集成到Docker的重点一直是同一台计算机上的C / R。

就是说,不仅可以在检查点之后复制CRIU创建的容器镜像(如您所做的那样),而且可以通过复制Dockert在/var/lib/docker/0.0/中由Docker创建的容器目录来手动迁移容器, container / $ cid 以及/var/lib/docker/0.0/image中容器的根文件系统。手动迁移容器的文件系统有些棘手,特别是在使用AUFS或OverlayFS等联合文件系统的情况下。另外,您需要在目标计算机上重新启动Docker守护程序才能看到该容器。

关于docker - 使用criu进行Docker容器迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34424550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com