Gitlab-CE docker build faild“未知指令”

时间:2018-04-09 17:58:11

标签: docker gitlab gitlab-ci gitlab-ci-runner

我正在使用自托管的Gitlab-CE服务器。我尝试使用具有三个阶段的CI管道:构建,打包,部署

Build是一个maven任务 - 有效。

在包任务中,我尝试构建docker容器。但是此步骤失败并出现以下错误:

ax.plot_surface(..., shade=False)

那是我的.gitlab-ci.yml(没有部署步骤)

Error response from daemon: Dockerfile parse error line 1: unknown instruction: <!DOCTYPE

可以在https://devel.priv.net访问gitlab服务器。存储库是https://devel.priv.net/d.p/service-discovery 它受用户名和密码保护。

我的配置有什么问题?

2 个答案:

答案 0 :(得分:0)

您应该检查/etc/gitlab/gitlab.rb文件并搜索registry_external_url配置变量。您可能希望为GitLab注册表使用子域,或者在其他端口上运行它。

registry_external_url "https://registry.devel.priv.net"

您获得的响应似乎是GitLab的404页面的HTML代码,因为注册表未在您的域https://devel.priv.net上运行,但是docker登录尝试登录此URL。

您还应该尝试避免将注册表硬连接到.gitlab-ci.yml文件,并在$CI_REGISTRY作业中使用CI环境变量docker-build

答案 1 :(得分:0)

也许尝试这样的事情:

docker-build:
  stage: package
  script:
  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
  - docker build -t devel.priv.net/d.p/service-discovery .
  - docker push devel.priv.net/d.p/service-discovery