![](/img/trans.png)
[英]How do you resolve the GitLab error "Error response from daemon: invalid condition: 'not-running'"?
[英]Error response from daemon: pull access denied for registry.gitlab.com repository does not exist or may require 'docker login'
Dockerfile
FROM openjdk:8-jre-alpine
WORKDIR /app1/backend
COPY ./target/app1-backend.jar app1-backend.jar
ADD cloudfront_private_key.pem /host_files/
EXPOSE 9000
ENTRYPOINT [ "java", "-cp", "app1-backend.jar", "hsnbe.app1"]
docker-compose.yml
version: '3.4'
services:
app1:
logging:
driver: awslogs
options:
awslogs-region: eu-west-1
image: app1-server:development
container_name: health_backend
build:
context: .
dockerfile: ./build/DockerfileHS.dev
target: app1
restart: unless-stopped
volumes:
- ~/.ssh/health_backend_dev_cloudfront_private_key.pem:${HAPP_AWS_CLOUDFRONT_KEY_FILE_PATH:-/host_files/health_backend_dev_cloudfront_private_key.pem}
ports:
- ${APP1_PORT:-9000}:9000
depends_on:
- postgres
links:
- postgres
错误:
Reason CannotPullContainerError: Error response from daemon: pull access denied for registry.gitlab.com/app1/backend, repository does not exist or may require 'docker login'
我已经尝试过的:
查看:
~/.docker/config.json
auths
查看身份验证部分read-registry
和write_registry
范围 access denied
可能是因为您使用的个人访问令牌(PAT) 无权访问此容器注册表的项目。
read_registry
scope才能拉取,如果要推送到容器注册表,还必须具有write_registry
scopedocker push
送到私有项目,您至少需要对该项目的开发人员访问权限docker pull
,做客就够了您不能将部署令牌与公共 API 一起使用。 它们仅对 CI/CD 作业有用。
access denied
的另一个原因可能是项目实际上不存在。 您不能推送到 GitLab 中的任意命名空间。 在您的示例中,错误显示:
access denied for registry.gitlab.com/app1/backend
@app1
的命名空间中没有“ backend
”项目。 这甚至可能不是您的命名空间: http://gitlab.com/app1
问题中没有足够的细节,但作为猜测,您可能应该这样做,将您的用户名或组名替换为$GITLAB_USERNAME
,并将项目的命名空间替换为$GITLAB_PROJECT_NAMESPACE
:
docker build -t registry.gitlab.com/$GITLAB_USERNAME/$GITLAB_PROJECT_NAMESPACE/app1/backend:1.0
docker push registry.gitlab.com/$GITLAB_USERNAME/$GITLAB_PROJECT_NAMESPACE/app1/backend:1.0
我已经通过apt-get
在本地安装了gitlab-runner
并且遇到了同样的问题。
只有我删除了已安装的gitlab-runner
并通过curl
重新安装它才能解决问题
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
sudo apt-get install gitlab-runner
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.