在已经存在的docker映像(不是容器)中运行安装命令?

2024-10-06 11:28:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我用我的docker容器构建了一个图像,可在以下位置找到:

https://github.com/brando90/hbf_tensorflow_code/blob/master/docker_files/tf_cpu_py3.4/Dockerfile

最后,系统决定让一个python模块消失,原因很奇怪(我完全无法理解)。它给出了一个错误,我用bash运行了一个容器,并安装了丢失的python库。我跑了:

apt-get install python3-tk

它在运行的容器中安装了丢失的库(被神奇地卸载了),一切都很好。现在事情似乎起作用了。但是,在已经存在的docker映像中运行这个安装命令是不是不删除它或者不使用该命令在某处添加一个新的docker文件?在

还有没有人对可能发生的事情有任何猜测,甚至追踪可能发生的事情?我确实尝试过从头开始重新制作docker图像,但它一直有错误。这是否意味着我需要在Dockerfile中添加这个命令(看起来有点随机)?在


Tags: dockerhttps图像命令dockerfilegithubcomtensorflow
1条回答
网友
1楼 · 发布于 2024-10-06 11:28:36

一般来说,在Docker术语中,有两种方法可以处理这个问题。在

第一种方法是将丢失的包添加到Dockerfile中,然后重新生成映像。我只需将python3-tk附加到其他apt-get install命令中并重新生成它。在

第二个选项是基于现有容器保存新图像。如果已经有一个基于原始映像运行的容器,并且已经解决了该问题,那么可以使用docker commit命令。只需运行docker commit <container_id> <new_image_name>。在

请记住,容器在您的基本映像上运行一个覆盖文件系统。他们不是直接写图像。因此,如果要将包添加到容器中,这些更改不会立即反映在基础映像中。在

相关问题 更多 >