0

我正在尝试配置 DevOps 管道构建阶段,以使用 IBM Container Service 构建器构建容器。

我正在尝试构建一个位于存储库内的子文件夹中的 docker 映像/server

$ tree keycloak
keycloak
├── adapter-wildfly
│   ├─ ...
├── server
│   ├── Dockerfile
│   ├── ...
├── ...

在我的构建脚本的顶部,我想我可以通过设置 WORKSPACE 环境变量来设置文件夹:

export WORKSPACE=${WORKSPACE}/server

但是,构建失败。在日志文件的末尾,我看到:

2017-07-06 15:39:32 UTC : Dockerfile not found in project

包含我正在尝试构建的 Dockerfile 的 git 项目是:https ://github.com/jboss-dockerfiles/keycloak


更新:

我现在已经提出了一个(讨厌的)解决方法,但我宁愿有一个不那么老套的解决方案。在我的部署脚本中,我将包含 Dockerfile 的文件夹移动到父文件夹中:

...

# hacky workaround to build a Dockerfile not in the top level folder
mv ${WORKSPACE}/server/* .

if [ -f Dockerfile ]; then 
...
4

1 回答 1

0

默认情况下,构建脚本在当前目录中查找 Dockerfile,然后从完全限定的 WORKSPACE 构建它。因此,您需要更新 WORKSPACE 并更改为新的工作区目录:

export WORKSPACE=${WORKSPACE}/server
cd ${WORKSPACE}
于 2017-07-11T22:04:30.743 回答