docker机+ Gitlabregistry – 如何使authentication工作?
我试图在docker机器主机上构build一个Docker镜像,并将镜像推送到Gitlabregistry中。 我启用了registry,然后按照这里所描述的使用docker-machine(除了我使用172.17.0.1作为主机IP,但是它在Gitlab Runnerconfiguration中的一个小的改变之后)。 问题是,build立图像后,当我试图推它,我得到以下错误:
$ docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.organization.com:39140 Login Succeeded $ docker build -t gitlab.organization.com:39140/organization/project-name . (build went fine) $ docker push gitlab.organization.com:39140/organization/project-name The push refers to a repository [gitlab.organization.com:39140/organization/project-name] 9da290505e25: Preparing 4edf62705ffc: Preparing 9845b0e669c4: Preparing 0dd280e9ab09: Preparing 1efea06cfe5b: Preparing cf516324493c: Preparing cf516324493c: Waiting denied: access forbidden ERROR: Job failed: exit code 1
这是我的.gitlab-ci.yml:
image: my-base-image variables: GIT_SUBMODULE_STRATEGY: recursive DOCKER_TLS_VERIFY: "1" DOCKER_HOST: "tcp://172.17.0.1:2376" DOCKER_CERT_PATH: "certs" test:build: script: - mkdir $DOCKER_CERT_PATH - echo "$CA" > $DOCKER_CERT_PATH/ca.pem - echo "$CLIENT_CERT" > $DOCKER_CERT_PATH/cert.pem - echo "$CLIENT_KEY" > $DOCKER_CERT_PATH/key.pem\ - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab.organization.com:39140 - docker build -t gitlab.organization.com:39140/organization/project-name . - docker pull gitlab.organization.com:39140/organization/project-name
我的理论是来自$ DOCKER_CERT_PATH的证书既用于连接docker-machine主机和Gitlabregistry。 那可能吗? 我可以强制login/密码authentication的Gitlabregistry或生成一个CI可以使用的密钥?
- docker执行与nsenter:任何陷阱?
- 在docker集装箱中,连接到在另一个docker集装箱运行的mongodb auth由pymongo失败
- 如何将PyCharm连接到位于Docker容器内的python解释器?
- 例如使用glusterfs卷驱动时的marathon json部署文件
- 如何限制容器可用的Docker文件系统空间
- package.json中的所有节点模块都会在稍作更改后重新下载
- 在debian / ubuntu启动时启动redis-server
- 在Windows主机上的Docker上安装Linux
- 使用Pytest,Selenium Grid和Docker创buildtesting基础架构