我正在使用'MLflow'项目,一个用例就是这样。
The MLflow running target/environment is docker.
Data lives on aws s3
Development is happening on a laptop. The laptop has aws credentials to access data.
当前,我在主机上存储的凭据为“〜/ .aws / credential”,并且可以访问主机中的s3。问题是:在MLflow项目中,如何使运行在docker上的程序访问s3文件?
请注意,问题不是“一般”如何设置docker。问题是在MLflow项目中进行aws设置/配置的推荐方法。谢谢!
答案 0 :(得分:1)
您可以使用volume来获取应用程序数据。
具体来说,对于AWS凭证,您可以安装凭证目录本身,
很明显,您需要确保为aws或mlflow安装任何必需的依赖项。但是,这是添加用户并将凭据作为卷安装所需的部分。
首先,在您的Dockerfile中,
# add user with home directory
RUN useradd -m mlflow
# set default user
USER mlflow
# set working directory
WORKDIR /home/mlflow
然后在运行期间挂载,
docker run -it -v "${HOME}"/.aws:/home/mlflow/.aws \
mlflow
注意:请确保不要在任何Docker容器内使用硬编码凭据。