首頁  >  問答  >  主體

docker里的修改无法保存

通过

docker run -it debian bash

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

阿神阿神2758 天前1114

全部回覆(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
  • 取消回覆