我正在研究两个项目解决方案(Core6)和GitLab。
docker-compose.yml文件:
version: '3.4'
services:
admin:
image: ${DOCKER_REGISTRY-}admin
build:
context: .
dockerfile: FrontEnd/Admin/Dockerfile
enrollment:
image: ${DOCKER_REGISTRY-}enrollment
build:
context: .
dockerfile: FrontEnd/Enrollment/DockerfileGitLab管道文件:
image: docker:stable
services:
- docker:dind
before_script:
- docker info
build:
only:
- DockerComposeSupported
before_script:
- docker login registry.gitlab.com -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
script:
- apk add --no-cache docker-compose
- docker-compose build #Works fine
- docker push ${CI_REGISTRY}/${CI_PROJECT_PATH} # Here is the error
after_script:
- docker logout ${CI_REGISTRY}
stage: build问题是:- docker push ${CI_REGISTRY}/${CI_PROJECT_PATH},错误是推送引用存储库注册。gitlab.com/xxx/yyy/zzz本地不存在带有标记的图像:Regiy.gitlab.com/xxx/yyy/zzz。
我最初从Gitlab获取代码,它是dockerBuild.gitlab.com/xxx/yyy/zzz。但是停靠构建是在根目录中寻找一个停靠文件,而我没有一个,我只有一个停靠文件,所以我需要使用“构建”,但是这个命令没有任何目录参数。任何帮助都将不胜感激。
发布于 2022-04-28 15:11:13
使用GitLab在CI:CI_REGISTRY_IMAGE="registry.example.com/org/repo"中定义的不同变量
version: '3.4'
services:
admin:
image: ${CI_REGISTRY_IMAGE}-admin
build:
context: .
dockerfile: FrontEnd/Admin/Dockerfile
enrollment:
image: ${CI_REGISTRY_IMAGE}-enrollment
build:
context: .
dockerfile: FrontEnd/Enrollment/Dockerfiledocker有一个很棒的特性,您可以在与docker-come.yml文件位于同一个目录下的.env文件中设置这个变量。您将只需要此文件进行本地开发。
# .env
CI_REGISTRY_IMAGE="registry.example.com/org/repo"发布于 2022-05-02 14:55:19
谢谢Richard和Danielnelz!我已经找到了“请求访问资源被拒绝”错误的解决方案。我有"{CI_REGISTRY_IMAGE}-admin“项目引用,但应该是{CI_REGISTRY_IMAGE}/admin。现在,码头推送到GitLab注册表工作正常。
https://stackoverflow.com/questions/72035895
复制相似问题