首页 > 解决方案 > 从 DockerFile 修改 Python 脚本

问题描述

我正在使用单独的 docker 容器在分布式环境中工作。每个 docker 容器基本上都是一个部署在管道中的神经网络。

我有一个特殊情况,我在我的 Docker 容器中以特定路径安装我的神经网络的一些外部依赖项。

当我想更改用于训练网络的超参数时,我必须手动搜索已安装依赖项的位置并修改属于这些依赖项的脚本中的一些参数,因为我当前使用的库硬编码了一些值在幕后。

我的问题如下:有没有办法在 Dockerfile 中编写一些特定的片段,以便自动修改.py安装在 Docker 容器中的那些脚本,给定它们位置的特定路径?如果我能做这样的事情,怎么做?

我现在想到的另一种方法是将需要修改的文件复制到主机,根据我的需要进行修改,然后将其复制回原来的确切位置;但是我认为可能会有更优雅的东西。

标签: pythondockerdockerfile

解决方案


简而言之,我认为(如评论中提到的 AKX)您可能希望在容器中使用环境变量。以下 SO 问题描述了如何使用 python 执行此操作:docker env for python variables

这些可以在构建之前在 dockerfile 中设置,并在运行容器时提供。


推荐阅读