【问题标题】:MLflow run within a docker container - Running with "docker_env" in MLflow project fileMLflow 在 docker 容器中运行 - 在 MLflow 项目文件中使用“docker_env”运行
【发布时间】:2022-01-23 11:56:33
【问题描述】:

我们正在尝试开发 MLflow 管道。我们在一系列 docker 中拥有我们的开发环境(没有本地 python 环境“随便”)。这意味着我们已经设置了一个带有 MLflow 和运行管道所需的所有要求的 docker 容器。我们遇到的问题是,当我们编写 MLflow 项目文件时,我们需要使用“docker_env”来指定环境。此图说明了我们想要实现的目标:

MLflow run dind

docker 内部的 MLflow 需要访问 docker 守护程序/服务,以便它可以使用 MLflow 项目文件中的“docker-image”或从 docker hub 拉取它。我们知道在 MLflow 项目文件中使用“conda_env”的可能性,但希望避免这种情况。

我们的问题是,

我们是否需要设置某种“docker in docker”解决方案来实现我们的目标?

是否可以设置运行 MLflow 的 docker 容器,以便它可以访问“主机”docker daemon?

我浏览过 Google 和 MLflow 的文档,但我似乎可以找到任何可以指导我们的东西。非常感谢您的任何帮助或指点!

【问题讨论】:

  • 您好!不幸的是,我没有答案。但是:您应该检查MLFlow slack 社区非常活跃!
  • 谢谢,@Charley!我去看看:)
  • 由于您添加了kubernetes 标签,能否请您补充一下您是如何使用 Kubernetes 的?
  • Hei @AndrewSkorkin,这是我们工作流程的下一步。我认为它还不是那么相关,我已经删除了标签。感谢您的观察。

标签: docker mlflow docker-in-docker


【解决方案1】:

我设法在 MLflow 中使用 docker 和 docker_env 创建了我的管道。不需要运行d-in-d,“兄弟方法”就足够了。此处描述了此方法:

https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

这是避免d-in-d的首选方法。

在主要和次要 docker 环境中安装卷时需要非常小心:所有卷安装都发生在主机中。

【讨论】:

    猜你喜欢
    • 2021-07-31
    • 2020-09-10
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2023-01-23
    • 2019-12-05
    • 2021-09-18
    • 2020-06-21
    相关资源
    最近更新 更多