我在正在运行的docker容器中编辑了一个文件并重新启动它,遗憾的是我的上一次编辑不正确。所以每次我用:
启动容器docker start <containerId>
它总是立即退出。
现在我甚至无法修改我的编辑,因为
docker exec -it <containerId> bash
只能在正在运行的docker上运行。
问题是如何更改它并立即重启容器?或者我不得不放弃它并从现有图像中启动一个新容器?
答案 0 :(得分:2)
您未提供有关容器用途或修改内容的任何详细信息。从概念上讲,您可以在文件系统的某个位置创建需要修改的文件,并在启动时创建mount that file into the container as a volume,例如:
docker run -it -v /Users/<path_to_file>:<container_path_to_file> <container>
Hovever ,这是不好的形式,因为你的容器在没有committing a new image的情况下失去了可移植性。
理想情况下,需要在Docker容器内进行的更改在Dockerfile中进行,并重新构建容器映像。这样,您的初始工作容器状态将在Dockerfile代码中表示,使您的配置可重复,可移植且不可变。
答案 1 :(得分:0)