在使用docker环境的MLflow项目中,如何设置AWS凭证

时间:2019-05-17 23:41:23

标签: mlflow

我正在使用'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设置/配置的推荐方法。谢谢!

1 个答案:

答案 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容器内使用硬编码凭据