我想使用v2 API找到私有Docker注册表中图像的最新时间戳,而不先将图像拉到我的本地主机.
我设置registry v2并使用nginx反向代理.当我将图像推送到注册时,它会出错413 Request Entity Too Large.
我在nginx.conf中将client_max_body_size修改为20MB.推动仍然失败.
registry v2
docker push的体型是多少?我怎样才能限制体型?
我有虚拟机(CentOS 7)并安装了docker和gitlab-runner.跑步者注册为docker:dind.安装工作正常,但我无法连接到我自己的docker注册表,该注册表具有来自我自己的CA的证书,但也使用客户端SSL证书.当我转到dockerd参数时,--insecure-registry=gitlab.mazel.tov:4567它不会验证CA,但我仍然不知道如何提供客户端SSL证书,并且pipile将失败并显示此错误.
$ docker login -u gitlab-ci-token -p $CI_JOB_TOKEN https://gitlab.mazel.tov:4567
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://gitlab.mazel.tov:4567/v2/: error parsing HTTP 400 response body: invalid character '<' looking for beginning of value: "<html>\r\n<head><title>400 No required SSL certificate was sent</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>400 Bad Request</h1></center>\r\n<center>No required SSL certificate was sent</center>\r\n<hr><center>nginx</center>\r\n</body>\r\n</html>\r\n"
Run Code Online (Sandbox Code Playgroud)
我也有docker中的文件夹:带有我的证书的dind容器,但这种方法不起作用dockerd?但是在我的电脑或服务器上它运行正常.
$ ls -la /etc/docker/certs.d/gitlab.mazel.tov\:4567/ …Run Code Online (Sandbox Code Playgroud) 是注册表的JFrog产品组合枢轴或者是某组的附加功能?无论哪种方式,该功能都很有趣,但是很高兴了解细节。
artifactory docker kubernetes docker-registry jfrog-container-registry
我使用docker-registry来获取我自己的docker镜像,但我想这样做而不需要指定主机.意思是:而不是写作:
docker pull <host>:<port>/<dockerImage>
Run Code Online (Sandbox Code Playgroud)
我想写:
docker pull <dockerImage>
Run Code Online (Sandbox Code Playgroud)
首先它会尝试从我的私人注册表中拉出docker,然后尝试从公共docker注册表中提取它.
可能吗?
我试图更改DOCKER_INDEX_URL为[my_docker_registry_host]:[port],但它不起作用.
我一直在设置我的kubernetes集群,我一直在使用Google Container Registry来存储图像.
作为我的设置的一部分,我正在构建一些工具,我需要在远程存储库中搜索图像,包括标签.
所以我的问题是: 如何在Google Cloud Registry中搜索图像?
我试过没有运气使用dockercli进行搜索:
$ docker search eu.gcr.io/project-101
Error response from daemon: Unexpected status code 403
$ gcloud docker search eu.gcr.io/project-101
Error response from daemon: Unexpected status code 403
$ docker login -e not@val.id -u _token -p mytoken https://eu.gcr.io
WARNING: login credentials saved in /Users/drwho/.docker/config.json
Login Succeeded
$ docker search eu.gcr.io/project-101
Error response from daemon: Unexpected status code 403
$ docker search eu.gcr.io/not-known
Error response from daemon: Unexpected status code 404 …Run Code Online (Sandbox Code Playgroud) docker google-kubernetes-engine docker-registry google-container-registry
我有兴趣使用Docker来托管我正在帮助开发工作的项目.但是我对它的适用性有一些疑问.
首先,我想知道是否可以保持源代码对潜在用户/客户隐藏?显然,Docker政策的一部分是代码是开放的,但有没有办法添加权限来锁定除指定用户/开发人员以外的任何人?
其次,就我们正在开发的产品而言 - 某些用户可能只希望访问产品的一个方面.有没有什么办法可以为docker注册表添加权限,以便客户只能访问他们要求的内容?
我在我的机器上设置了docker,还有minikube,里面有docker,所以我可能在不同的VM上运行了两个docker实例
我构建一个图像并标记它,然后将其推送到本地注册表,它成功推送,我也可以从注册表中拉出它也是当我运行curl得到标签列表我得到结果,这是我做的
1- docker build -t 127.0.0.1:5000/eliza/console:0.0.1 .
2- docker run -d -p 5000:5000 --name registry registry:2
3- docker tag a3703d02a199 127.0.0.1:5000/eliza/console:0.0.1
4- docker push 127.0.0.1:5000/eliza/console:0.0.1
5- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)
以上所有步骤都运行正常,没有任何问题.
我的问题是当我运行minikube并尝试在其中的本地注册表中访问此图像
所以,当我运行下一个命令
1- sudo minikube start --insecure-registry 127.0.0.1:5000
2- eval $(minikube docker-env)
3- minikube ssh
4- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)
在最后一步(第4点),它给了我下一条消息
curl:(7)无法连接到127.0.0.1端口5000:连接被拒绝
因此,我可以从我的机器访问图像注册表,但不能从minikube访问,当我在minikube上使用Kubernetes部署此图像时,我当然会遇到问题,并且由于无法连接到http://127.0.0.1:5000而导致部署失败
你能帮我配置minikube来查看我的本地注册表,这样我的问题就能解决,然后我可以成功地使用kubernetes将图像部署到minikube吗?
UPDATE
我正在使用这个yaml文件(我命名为ConsolePre.yaml)来使用kubernetes部署我的图像
apiVersion: v1
kind: Service
metadata:
name: tripbru-console
labels:
app: tripbru-console
spec:
ports:
- port: 9080
targetPort: 9080
nodePort: …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 kubernetes 中的 github 包中提取图像,但我不断收到错误“没有基本身份验证凭据”
我用这个命令创建了一个秘密:
kubectl 创建秘密 docker-registry regcred --docker-server=docker.pkg.github.com --docker-username=********* --docker-password=******* --码头工人电子邮件=*****
我在 yaml 文件中添加了imagePullSecrets
我还有 config.json 文件,在我的集群的所有节点中都有 $HOME/.docker/config.json 中的凭据
这是yaml文件的内容:
apiVersion: apps/v1
kind: Deployment
metadata:
name: invoice
namespace: jhipster
spec:
replicas: 1
selector:
matchLabels:
app: invoice
version: 'v1'
template:
metadata:
labels:
app: invoice
version: 'v1'
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- invoice
topologyKey: kubernetes.io/hostname
weight: 100
initContainers:
- name: init-ds
image: busybox:latest
command:
- '/bin/sh'
- '-c' …Run Code Online (Sandbox Code Playgroud) 在这里,我有关于在 docker 映像中拉取 docker-dev 以制作我的开发环境的问题,但是当我尝试拉取 docker-dev 时。我收到了找不到 docker manifest 之类的错误。谁能帮我解决这个错误...plz
在此之前, 我想知道 docker 未能初始化我现在遇到的错误...
我尝试了很多方法,例如重新安装 docker 桌面或 WSL 更新,但没有奏效。
docker dockerfile docker-registry docker-compose docker-machine
docker-registry ×10
docker ×9
kubernetes ×3
artifactory ×1
docker-dind ×1
dockerfile ×1
gitlab-ci ×1
minikube ×1
ssl ×1