标签: docker-registry

用于管理Docker私有注册表的任何API或Web UI项目?

我找不到如何在私人注册表中管理图像.我可以推或拉图像因为我知道id但是如何获得推送图像列表?

例如,想要在其组织的私人注册表下查看可用图像的人.她怎么办?

除非我弄错了,否则我找不到API或Web UI来发现注册表内容,例如index.docker.io对公共注册表的处理.

是否有任何开源项目来管理这个?

谢谢.

docker docker-registry

30
推荐指数
4
解决办法
3万
查看次数

28
推荐指数
3
解决办法
6643
查看次数

如何修复 docker Push 命令期间的 EOF 错误

我尝试将图像推送到我的公共 docker 存储库中,但几分钟后我遇到了这个问题:

在此输入图像描述

并且在推送过程中,多次发生以下情况(重试时):

在此输入图像描述

我的 docker 版本如下:

在此输入图像描述

如何解决这个问题呢 ?

docker docker-registry docker-image docker-for-windows

28
推荐指数
6
解决办法
5万
查看次数

docker 本地注册表“exec:\”htpasswd\”:在 $PATH 中找不到可执行文件”

直到最近这工作正常

docker run --entrypoint htpasswd registry:2 -Bbn myuser  mypwd  > /my/registry2/reg/hub/auth/htpasswd
Run Code Online (Sandbox Code Playgroud)

现在它出错了


docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"htpasswd\": executable file not found in $PATH": unknown.

Run Code Online (Sandbox Code Playgroud)

这是在带有 docker 的 Ubuntu 18.04 和 20.04 上

docker version
Client: Docker Engine - Community
 Version:           19.03.11
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        42e35e61f3
 Built:             Mon Jun  1 09:12:22 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.11
  API …
Run Code Online (Sandbox Code Playgroud)

docker docker-registry

28
推荐指数
1
解决办法
8501
查看次数

为什么我在此Kubernetes部署中遇到ErrImagePull错误?

我正在尝试使用Minikube,Docker Registry和演示节点项目创建本地Kubernetes部署.

我做的第一件事是安装Docker v 1.12.3,然后安装Minikube v0.12.2.

然后我通过运行此命令创建了一个Docker Registry容器(通过本教程,只运行下面的第一个命令)

docker run -d -p 5000:5000 --name registry registry:2
Run Code Online (Sandbox Code Playgroud)

接下来,我运行了这个minikube命令来创建一个本地kubernetes集群:

minikube start --vm-driver="virtualbox" --insecure-registry="0.0.0.0:5000"
Run Code Online (Sandbox Code Playgroud)

我的项目结构如下所示:

.
??? Dockerfile
??? server.js
Run Code Online (Sandbox Code Playgroud)

我的Dockerfile看起来像这样:

FROM node:7.1.0
EXPOSE 8080
COPY server.js .
CMD node server.js
Run Code Online (Sandbox Code Playgroud)

然后我构建了自己的docker镜像并将其推送到我的私有存储库:

docker build -t hello-node .
docker tag hello-node localhost:5000/hello-node
docker push localhost:5000/hello-node
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用此命令运行部署:

kubectl run hello-node --image=localhost:5000/hello-node --port=8888
Run Code Online (Sandbox Code Playgroud)

但后来我明白了:

sudo kubectl get pods --all-namespaces                                                                                                                             
NAMESPACE     NAME                          READY     STATUS         RESTARTS   AGE
default       hello-node-3745105022-gzs5a   0/1       ErrImagePull   0          11m
kube-system   kube-addon-manager-minikube   1/1 …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-registry

27
推荐指数
2
解决办法
3万
查看次数

Docker中的默认私有注册表

我需要在Docker中设置我自己的私有注册表,通常保留所有内部Docker镜像.

为了使这更容易,我希望在内部设置我的Docker图像被调用project/component,就像你从https://index.docker.io/提取的普通Docker图像一样.

我确信,我永远不会从index.docker.io中获取这种格式的图像,所有这些图像都来自我们的内部索引器.即使是格式的图像imagename,centos也会从我们的内部存储库中提取出来.

那么,有没有办法让我更改默认索引器?或者至少将我的私有索引器从端口5000更改为默认尝试的东西; 即,从中获取图像private_indexer.internal/repo_name而不是private_indexer.internal:5000/repo_name.

将index.docker.io放在我们自己的dns中指向我们的内部ip是最好的解决方案吗?

docker docker-registry

26
推荐指数
1
解决办法
2万
查看次数

Docker镜像推送SSH(分布式)

TL; DR基本上,我正在寻找:

docker push myimage ssh://myvps01.vpsprovider.net/
Run Code Online (Sandbox Code Playgroud)

我没有理解整个Docker Hub/Registry事件的基本原理.我知道我可以运行私有注册表,但为此我必须设置实际运行服务器的基础结构.

我偷偷摸摸了Docker的内部工作(至少是文件系统),看起来Docker图像层只是一堆tarball,或多或少,有一些精心设计的文件命名.我天真地认为用一个简单的Python脚本来做分布式推/拉是不可能的,但当然我没有尝试,所以这就是我问这个问题的原因.

有没有任何技术原因为什么Docker不能像Git或Mercurial一样进行分布式(无服务器)推/拉?

我认为这将是一个巨大的帮助,因为我可以将我在笔记本电脑上构建的图像直接推送到应用服务器上,而不是首先推送到某个地方的repo服务器然后从应用服务器拉出来.或者我可能误解了这个概念,而且注册表是我绝对需要的一个非常重要的功能?

编辑一些有希望解释我为什么要这样做的上下文,请考虑以下场景:

  • 在我的笔记本电脑上进行开发,测试(OSX,运行Docker机器,使用docker-compose来定义服务和依赖项)
  • 通过脚本部署到实时环境(自编,bash,dev机器上的几个依赖,基本上只是Docker机器)
  • 除了SSH访问和Docker守护程序之外,部署到具有极少依赖性的新VPS.
  • 没有"永久"服务在任何地方运行,即我特别不希望托管永久运行的注册表(特别是所有VPS实例都无法访问,尽管这可能通过一些聪明的SSH隧道解决)

目前最好的解决方案是使用Docker机器指向VPS服务器并重建它,但它减慢了部署,因为我每次都必须从源构建容器.

ssh docker docker-registry

26
推荐指数
4
解决办法
8735
查看次数

如何从gitlab-ci将docker镜像发布到docker hub

Gitlab提供了一个.gitlab-ci.yml模板,用于构建和发布图像到自己的注册表(单击一个项目中的"新文件",选择.gitlab-ci.ymldocker).该文件看起来像这样,它开箱即用:)

# This file is a template, and might need editing before it works on your project.
# Official docker image.
image: docker:latest

services:
  - docker:dind

before_script:
  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY

build-master:
  stage: build
  script:
    - docker build --pull -t "$CI_REGISTRY_IMAGE" .
    - docker push "$CI_REGISTRY_IMAGE"
  only:
    - master

build:
  stage: build
  script:
    - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
    - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
  except:
    - master
Run Code Online (Sandbox Code Playgroud)

但默认情况下,这将发布到gitlab的注册表.我们怎样才能发布到docker hub …

gitlab-ci docker-registry

24
推荐指数
2
解决办法
9492
查看次数

如何在docker push上指定用户名和密码?

嗨,我正在努力 docker push

[docker-simple-httpserver]# docker push myregistry/simplehttpserver:latest
The push refers to a repository [myregistry/simplehttpserver] (len: 1)
Sending image list
FATA[0000] Error: Status 403 trying to push repository simplehttpserver: "{\"error\": \"Unauthorized updating repository images\"}" 
Run Code Online (Sandbox Code Playgroud)

是有我的方式来指定username,并passworddocker push命令?

docker docker-registry

22
推荐指数
5
解决办法
6万
查看次数

在没有安装X11的服务器上,docker登录失败

我试图在私有docker注册表上部署带有图像的docker配置.

现在,每次执行时docker login registry.example.com,都会收到以下错误消息:

error getting credentials - err: exit status 1, out: `Cannot autolaunch D-Bus without X11 $DISPLAY`
Run Code Online (Sandbox Code Playgroud)

我找到的非macos用户的唯一解决方案是先运行export $(dbus-launch),但这并没有改变任何东西.

我正在运行Ubuntu Server并尝试使用Ubuntu Docker软件包和Docker-CE软件包.

如何在没有X11会话的情况下登录?

ubuntu-server docker docker-registry

22
推荐指数
5
解决办法
7697
查看次数