无法在无人机Docker构建中标记图像:错误解析引用:”:latest“ 不是有效的存储库/标签:无效的引用格式。

4

我正在尝试将无人机与GitLab一起使用。 在将Docker镜像推送到我的私有注册表之前,它会发出错误:

Successfully built 7afb99118ae2
Successfully tagged ae872a846df0d8df884e89bd3a77cacf49b8f7de:latest
+ /usr/local/bin/docker tag ae872a846df0d8df884e89bd3a77cacf49b8f7de :latest
Error parsing reference: ":latest" is not a valid repository/tag: invalid reference format

我的无人机是 drone/drone:1.0.0-rc.3

这是我的 .drone.yml 文件

kind: pipeline
name: default

steps:
- name: build
  image: python:3.6
  commands:
  - pip install -r requirements.txt
  - python -m pytest app.py
  when:
    branch:
    - master
    event:
    - push
    - pull_request

- name: publish
  image: plugins/docker
  registry: registry.cn-beijing.aliyuncs.com
  repo: registry.cn-beijing.aliyuncs.com/xxx/xxx
  tags: latest
  username: 
  - from_secret: ali_username
  password:
  - from_secret: ali_password

我的Dockerfile:
FROM python:3.6-alpine
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
COPY requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
ADD . /code
WORKDIR /code
CMD ["python", "app.py"]

我尝试了以下方法:

tags: latest
tags: 1
tags: [1, 1.1]
tags: [1, 1.1, latest]
tags:
  - latest

我甚至尝试删除标签行,但是仍然无效。

这是怎么回事?谢谢任何提示!

1个回答

1

你的 yml 文件中,tag value 的值被设置为空,但是在 docker tag 命令中使用了 :

查看图片以生成上述错误。

enter image description here

我没有使用过 drone.io,但你的yml文件中存在缩进或配置问题,设置下的标签应该像这样:
kind: pipeline
name: default

steps:
- name: docker  
  image: plugins/docker
  settings:
    username: kevinbacon
    password: pa55word
    repo: foo/bar
    tags: latest

http://plugins.drone.io/drone-plugins/drone-docker/


谢谢,我可以在命令行上打标签,但是在无人机上却不起作用。而且正如我所说,“tags: latest”已经尝试过了。 - Woko
删除标签,以便默认使用最新版本。 - Adiii

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接