【问题标题】:Docker build on Bluemix Containers can't find Dockerfile在 Bluemix Containers 上构建的 Docker 找不到 Dockerfile
【发布时间】:2016-02-11 03:23:13
【问题描述】:

我正在尝试使用以下命令通过 Bluemix 远程构建 docker 映像:

cf ic build -t dude -f docker/production/Dockerfile .

但是我一直收到错误:

Sending build context to Docker daemon 32.57 MB
Error response from daemon: Build aborted with error: "filename 'Dockerfile' not found"

Dockerfile 移动到项目的根目录最初看起来像是挂起,但后来似乎成功了。

根据documentation,支持 docker build 命令,因此我希望-f 选项也可以工作。也许不是这样?

有任何想法或其他人设法让它发挥作用吗?以下是 Docker 版本信息:

# docker version
Client:
  Version:      1.9.1
  API version:  1.21
  Go version:   go1.4.3
  Git commit:   a34a1d5
  Built:        Fri Nov 20 17:56:04 UTC 2015
  OS/Arch:      darwin/amd64

Server:
  Version:      3.0
  API version:  1.20
  Go version:   
  Git commit:   
  Built:        2016-02-10T16:22:49
  OS/Arch:      Bluemix Containers/

【问题讨论】:

  • 您的 Bluemix 实例上安装了哪个版本的 docker? (docker version)
  • @VonC,我已经用docker version 信息更新了这个问题。现在我已经创建了一个脚本,它将临时将正确的环境 Dockerfile 移动到项目根目录中,它可以工作但总体上仍然很烦人。
  • docker/production/Dockerfile 是相对于您当前文件夹的路径吗?如果是,它应该是 docker run 上下文的一部分。
  • 它是,我和你在一起,它应该是运行上下文的一部分!在上述情况下,我在项目根目录中运行命令,Dockerfile 位于./docker/production/Dockerfile。我认为这是一个 Bluemix 错误......我刚刚尝试使用 Docker Toolbox,它没有问题。
  • 我同意,它看起来像一个错误。如果您锚定路径,问题是否仍然存在? cf ic build -t dude -f ./docker/production/Dockerfile .

标签: docker containers ibm-cloud


【解决方案1】:

阅读文档

https://console.ng.bluemix.net/docs/containers/container_cli_reference_cfic.html#container_cli_reference_cfic__build

我想 IBM Bluemix Containerscf ic CLI 尚不支持 -f 选项。 无论如何,您有机会在 Bluemix 上使用 docker 原生命令,如此处所述

https://console.ng.bluemix.net/docs/containers/container_cli_ov.html#container_cli_ov

尽可能运行 docker 命令,例如 docker run 在登录期间,复制并粘贴终端中提供的环境变量。 DOCKER_HOST 将 Docker 主机设置为 IBM Containers。 DOCKER_CERT_PATH 为 Cloud Foundry 的 IBM Containers 插件设置身份验证密钥的位置。 DOCKER_TLS_VERIFY 使用 TLS 并验证远程服务器。 然后,您可以直接对当前会话使用 Docker CLI 来运行支持的 Docker 命令。一些例外情况需要使用 cf ic 命令来执行特定于 IBM Containers 的任务,例如设置命名空间。

据此,在通过 cf ic login 登录后,您可以将本地运行时 docker 引擎切换到 Bluemix 注册表(并返回)设置

DOCKER_HOST (和 DOCKER_CERT_PATH/DOCKER_TLS_VERIFY,但这些值不会改变)

cf ic login 的输出建议的值(以及切换回本地环境的原始值)

【讨论】:

  • 嗯,你试过这个方法有用吗?我刚刚尝试使用docker 而不是cf ic 并得到同样的错误。不过感谢您的想法。
  • 我没试过,但是支持切换到docker。可能不支持的是 docker 选项,它取决于 - Bluemix docker 引擎版本 - Bluemix 禁用特定的 docker 选项
【解决方案2】:

在 IBM Containers 文档中,正在处理 cf ic 命令的所有受支持和不受支持的 Docker 选项的列表。这是一项持续的编译工作,因此仍有一些选项未包含在此处。

https://console.ng.bluemix.net/docs/containers/container_cli_reference_native-docker.html#container_cli_reference_native-docker

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 2021-12-19
    • 1970-01-01
    • 2023-01-16
    • 2016-01-22
    • 2021-09-15
    • 1970-01-01
    • 2019-10-29
    • 2021-07-15
    相关资源
    最近更新 更多