Gitlab runner 中 Docker 容器内的问题 运行 测试命令
Problem running test command inside Docker container in a Gitlab runner
我刚刚开始使用 docker
并持续集成 Gitlab
。我已将以下 gitlab-ci.yml
文件添加到我的存储库的根目录中:
# Official docker image
image: docker:latest
services:
- docker:dind
build-dev:
stage: build
script:
- docker build -t obikerui/project -f app/Dockerfile.dev ./app
test:
stage: test
script:
- docker run obikerui/project npm run test -- --coverage
build-dev
阶段运行并通过,但 test
阶段失败并显示以下错误消息:
$ docker run obikerui/project npm run test -- --coverage
Unable to find image 'obikerui/project:latest' locally
docker: Error response from daemon: pull access denied for obikerui/project, repository does not exist or may require 'docker login'.
See 'docker run --help'.
ERROR: Job failed: exit code 125
任何人都可以解释问题所在并提出修复建议吗?存储库是私有的,所以我需要提供一些额外的配置来适应这个吗?
每个作业 运行 在不同的容器中。您构建并正确标记了您的图像,但它保留在该容器中。
对于测试作业,一个新的容器启动并且该容器没有由上一个作业构建的图像。
您应该将您的图像推送到注册表(在您对其进行相应标记之后),然后测试作业应该使用存储库中的图像。
您可以使用 public 注册表,例如 Docker 提供的注册表,或者您可以 运行 基于图像 registry:2 的本地容器 docker =].在这种情况下,您必须确保指向注册表的域名在您的网络上可用(它可以是具有反向代理的 nginx)
我刚刚开始使用 docker
并持续集成 Gitlab
。我已将以下 gitlab-ci.yml
文件添加到我的存储库的根目录中:
# Official docker image
image: docker:latest
services:
- docker:dind
build-dev:
stage: build
script:
- docker build -t obikerui/project -f app/Dockerfile.dev ./app
test:
stage: test
script:
- docker run obikerui/project npm run test -- --coverage
build-dev
阶段运行并通过,但 test
阶段失败并显示以下错误消息:
$ docker run obikerui/project npm run test -- --coverage
Unable to find image 'obikerui/project:latest' locally
docker: Error response from daemon: pull access denied for obikerui/project, repository does not exist or may require 'docker login'.
See 'docker run --help'.
ERROR: Job failed: exit code 125
任何人都可以解释问题所在并提出修复建议吗?存储库是私有的,所以我需要提供一些额外的配置来适应这个吗?
每个作业 运行 在不同的容器中。您构建并正确标记了您的图像,但它保留在该容器中。
对于测试作业,一个新的容器启动并且该容器没有由上一个作业构建的图像。
您应该将您的图像推送到注册表(在您对其进行相应标记之后),然后测试作业应该使用存储库中的图像。
您可以使用 public 注册表,例如 Docker 提供的注册表,或者您可以 运行 基于图像 registry:2 的本地容器 docker =].在这种情况下,您必须确保指向注册表的域名在您的网络上可用(它可以是具有反向代理的 nginx)