1

我正在使用“MLflow”项目,一个用例是这样的。

The MLflow running target/environment is docker.
Data lives on aws s3
When developing on a laptop. The laptop has an aws profile to access data. 
(When developing on EC2, the EC2 have role attached to access s3) 

目前,我将凭据存储在主机上作为“~/.aws/credential”,并且可以访问主机中的 s3。问题是:在 MLflow 项目中,如何让程序在 docker 访问 s3 文件上运行?

请注意,问题不是“一般”如何设置 docker。问题是在 MLflow 项目中进行 aws 设置/配置的推荐方法。谢谢!

4

1 回答 1

1

您可以将用于应用程序数据。

具体来说,对于 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 容器中硬编码凭据。

于 2019-06-11T03:17:05.413 回答