首页  >  问答  >  正文

docker里的修改无法保存

通过

docker run -it debian bash

进入的交互式镜像,结果每次的修改都没有自动保存。我记得是有这个功能的啊。。
就算不commit,进去的时候,做过的修改应该也保存了啊。。
debian 8
docker 1.10

阿神阿神2758 天前1113

全部回复(4)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-24 09:11:31

    不是没有保存,而是你每次执行这个命令回产生一个新的容器,可以通过命令 docker ps -l查看,你可以通过 docker attach 容器ID 命令重新进去这个容器,会看到原来的内容还存在的。

    回复
    0
  • PHPz

    PHPz2017-04-24 09:11:31

    docker 在容器中做的修改都需要commit才能保存到镜像里,如果你想再次进入容器修改的东西还在的话,

    可以使用docker run -idt运行容器并挂在后台,或者是docker run -it进去容器之后不要使用exit退出,使用control+p,control+q让容器继续挂在后台运行。

    docker run -idt debian bash

    然后用docker attach 或者docker exec进入容器中修改,建议使用docker exec进入,exec进入容器是再开一个进程进入的,所以退出时使用exit退出也不影响容器继续挂在后台运行,命令如下:

    docker exec -it [container id] bash
    docker attach [container id]

    回复
    0
  • PHP中文网

    PHP中文网2017-04-24 09:11:31

    上面的回答都正确,不过不建议使用attach命令,建议用exec进入容器查看更改。因为attach命令退出会导致容器退出。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-24 09:11:31

    容器不commit, 重启了修改的就没了, 除非做了目录映射到本地的文件

    回复
    0
  • 取消回复