docker - 可以创建增量检查点 CRIU

我想知道是否有人知道是否可以使用 CRIU 进行增量检查点,特别是当进程是 Docker 时。

此外,我对在不终止进程的情况下拍摄快照很感兴趣。

我的目标是实现从一个主机到另一个主机的快速(几乎)实时迁移过程。

似乎现在使用 CRIU 是不可能的,但是我看过人们这样做的视频,我认为在发布了将近一年的这些文章后,我可能会在这里遗漏一些东西。

最佳答案

是的,同样的担忧。
您需要的是 predumm 选项。

  1. 一项资源可能会有所帮助。 github.com/xemul/p.haul p.haul 使调整预转储请求成为可能

  2. runC with predump 选项。这是您在 youtube.15dockerCon 上观看的内容。 github.com/marcosnils/runc

目前,我们有多种方式来制作docker checkpoint/restore。
一种。 原生方式:github.com/boucher/docker/releases

docker checkpoint
docker restore

b.runC方式:github.com/marcosnils/cmt github.com/marcosnils/runc

runc checkpoint 
runc restore 

c.外部方式:

criu dump -o dump.log -v4 -t 15215 \
  -D /tmp/m1  \
  --root /var/lib/docker/aufs/mnt/container id  \
  --manage-cgroups \
  --evasive-devices \
  --ext-mount-map /etc/resolv.conf:/etc/resolv.conf \
  --ext-mount-map /etc/hosts:/etc/hosts \
  --ext-mount-map /etc/hostname:/etc/hostname \
  --ext-mount-map /etc/resolv.conf:/etc/resolv.conf

基本上,我们更喜欢 docker native 和 runc。 但是现在两者都不支持预转储。 黑客方式。 github.com/marcosnils/runc 但是我加倍runC版本是旧的。

https://stackoverflow.com/questions/37648075/

相关文章:

git - ansible git 模块中是否有缓存?

jenkins - 使用 Cloudbees Docker 构建和发布插件时从 Jenkins 奴隶

macos - 如何在 Mac 上从 Jenkins 运行 docker builds?

docker - 来自链接容器的主机网络访问

docker - 装入命名卷时,在什么条件下从容器复制数据?

macos - 服务 'nginx'无法构建:…只读文件系统

docker - 当我尝试连接到 docker 镜像时,主机没有运行

docker - 为什么在我基于 alpine 的 docker-compose 构建中找不到 bi

docker - Ansible如何将本地镜像推送到私有(private)注册表

docker - Docker Kitematic连接ETIMEDOUT错误