我可以在不提交的情况下维护 docker 容器的状态吗?



我有一个 docker 容器正在运行,想知道我是否可以在不提交的情况下保存它的状态。例如:1. 启动容器2. 在其中创建一个新文件3. 退出容器4. 启动容器

在退出之前,该文件是否仍存在于此容器中而不运行 docker 提交。

Docker 的stoppedexited容器、维护文件和容器可写AUFS layer中的更改。请注意,当容器被移除时,此层将被移除

POC:

sudo docker run -it --name test debian:jessie /bin/bash
root@3d01feb251bd:/# touch farhad
root@3d01feb251bd:/# exit
sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
3d01feb251bd        debian:jessie       "/bin/bash"              16 seconds ago      Exited (0) 7 seconds ago                       test
sudo docker start test
sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
3d01feb251bd        debian:jessie       "/bin/bash"         31 seconds ago      Up 8 seconds                            test
sudo docker exec -it test /bin/bash
root@3d01feb251bd:/# ls
bin  boot  dev  etc  farhad  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

如您所见,我在退出容器之前触摸的文件仍然存在。

最新更新