我有一个docker容器正在运行,想知道我是否可以在不提交的情况下保存其状态。 例如: 1.启动容器 2.在其中创建一个新文件 3.退出容器 4.启动容器
在退出之前,如果没有运行docker commit,文件仍然可以存在于此容器中。
答案 0 :(得分:2)
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
正如您所见,退出容器前我触摸的文件仍在那里。