如何编辑Docker中退出的文件?

我在一个正在运行的docker容器中编辑了一个文件并重新启动了它,不幸的是我的最后一次编辑不正确。 所以每次我启动容器时

docker start <containerId> 

它总是立即退出。

现在我甚至无法修改我的编辑,因为

 docker exec -it <containerId> bash 

只能在正在运行的docker上运行。

问题是我怎样才能改变它,现在重新启动容器? 或者我不得不放弃它,并从现有的图像开始一个新的容器?

你没有提供任何有关你的容器的目的,或你修改的细节。 从概念上讲,您可以在文件系统的某个位置创build需要修改的文件,并在启动时将该文件作为卷挂载到容器中 ,如下所示:

 docker run -it -v /Users/<path_to_file>:<container_path_to_file> <container> 

Hovever ,这是不好的forms,因为你的容器在那个时候丢失了可移植性而没有提供一个新的形象 。

理想情况下,需要在Docker容器内进行的更改将在Dockerfile中进行,并重新构build容器映像。 通过这种方式,您的初始工作容器状态将在您的Dockerfile代码中进行表示,从而使您的configuration具有可重复性,可移植性和不可变性。