我有一个 docker 容器正在运行,想知道我是否可以在不提交的情况下保存它的状态。例如:1. 启动容器2. 在其中创建一个新文件3. 退出容器4. 启动容器
在退出之前,该文件是否仍存在于此容器中而不运行 docker 提交。
Docker 的stopped
,exited
容器、维护文件和容器可写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
如您所见,我在退出容器之前触摸的文件仍然存在。