docker - “docker push”在带有 windows runner 的 gitlabci 中需要 1 个参数
问题描述
我有一个非常简单的 gitlab ci 任务。只需从 Dockerfile 构建一个图像并将其推送到 gitlab docker 存储库:
- echo $CI_REGISTRY_IMAGE
- docker build -t $CI_REGISTRY_IMAGE .
- docker push "$CI_REGISTRY_IMAGE:latest"
这是我的输出:
$ echo $CI_REGISTRY_IMAGE
vb-git.example.com:8888/my/test
$ docker build -t $CI_REGISTRY_IMAGE .
Sending build context to Docker daemon 131.1kB
Step 1/1 : FROM openjdk
---> b853c027c6f5
Successfully built b853c027c6f5
Successfully tagged my.example.com:8888/my/test:latest
$ docker push $CI_REGISTRY_IMAGE:latest
"docker push" requires exactly 1 argument.
See 'docker push --help'.
Usage: docker push [OPTIONS] NAME[:TAG]
我怀疑这与 Windows shell 执行器没有正确解析推送线有关。当我像下面这样写推送时,它可以工作:
- docker push my.example.com:8888/my/test:latest
但是如何使用 gitlabci 变量来做到这一点,以便 Windows shell 执行器不会感到困惑?
解决方案
尝试
docker push "${$CI_REGISTRY_IMAGE}:latest"
推荐阅读
- sql - 如何让 React 应用程序将 SQL 查询发送到 Oracle 数据库并检索结果?
- naming-conventions - “Pascal Case”这个词是怎么来的?
- functional-programming - 标准 ML 中的递归编译错误
- c - 每次在 C 中访问字符串中的 3 个字符
- c# - C#:从存储过程填充组合框仅显示第一项
- c++ - 操作向量后代码不打印任何内容
- python - 在 tkinter python 3 中按下按钮后条目未更新
- sql - 创建二维表报告平均值
- android - Android:无法在约束布局中以编程方式正确添加约束集
- mysql - 如何选择直到总和一列达到一个值?