问题标签 [docker-registry-mirror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
327 浏览

docker - 我可以在 Dockerfile FROM 语句中引用环境变量吗?

我想做的是:

但是,这需要在没有互联网访问权限的隔离干净构建机器上运行,所以我需要通过本地镜像服务器(例如 Artifactory 或 Nexus 或其他类似的东西)路由它

如果 docker 映像托管在 docker hub 上(例如 FROM ubuntu),那么--registry-mirrors docker配置选项将为我们解决它。
但是因为微软已经决定不使用 docker hub,所以注册表镜像也不起作用。

经过一番努力,我为 mcr.microsoft.com 设置了一个自定义域镜像,所以现在我可以这样做了:

这样可行。但是我们有远程工作人员,他们可能不在本地办公室 LAN 上,并且看不到我的本地镜像服务器。我现在想做的是根据环境改变它。例如

我隔离的构建机器会设置MICROSOFT_DOCKER_REPO环境变量,其他人的机器会使用默认值mcr.microsoft.com

反正。将该行添加ENV到 dockerfile 会导致 docker 抛出此错误:

似乎有很多引用表明 FROM 行必须是文件中的第一行,甚至在任何注释之前...如何在 FROM 语句中引用环境变量?或者,我怎样才能使注册表镜像适用于不是 docker hub 的东西?

谢谢!

0 投票
1 回答
41 浏览

docker - 运行私有 Docker 存储库时,是否可以与本地 docker 守护进程共享图像

背景

我们正在运行的local Docker repository机器内部运行Docker.

我试图找出:

问题

执行local repository和守护进程,共享相同的图像,因此不会增加磁盘使用量。或者,对于每个大小为 Y(MB) 的图像 X,Xlocal repo和 X 中的demonX 都占用 2Y(MB)?

谢谢

编辑 1

是否有可能与force分享local repository它?imagesdaemon

0 投票
0 回答
2158 浏览

docker - docker 可以使用 http 请求从私有注册表中提取图像吗?

http当我从私有注册表中提取图像时,我想捕获请求。但它不起作用。我使用wireshark并且只捕获 tcp 请求。

我用

启动我的私人注册表。并添加

/etc/docker/daemon.json

利用

将图像推送到私有注册表。

并使用

从私有注册表中提取图像。

但是当registry-mirrors. 我可以在拉取图像时捕获http请求。

是因为我部署私有registry的方式不对?还是private registry不支持http协议?

此致。

谢谢!

0 投票
0 回答
327 浏览

docker - 是否可以在 docker daemon 配置文件中使用环境变量

背景:

我们在文件中使用registry_mirrors&insecure_registries选项。docker daemon.json我们想停止设置mirrors 硬编码的位置。

问题

可以在env variable里面使用daemon.json吗?因此,与其写ip X.Y.Z.W:PORT一个 ,不如写一个${REPO1}。希望可以在REPO1不重新启动的情况下更改 vardaemon

评论

解决方案必须允许在不重新启动守护程序的情况下更改repo位置

编辑

无法在 daemon.json 1. ${VAR_NAME} 中使用以下内容

可能的解决方法

使用自定义主机名并在/etc/hosts. ip这允许在不重新启动守护程序的情况下更改 repo 。它不允许改变portprotocol

可能的解决方法 2

有些选项可以在守护程序运行时重新配置,而无需重新启动进程。我们在 Linux 中使用 SIGHUP 信号来重新加载,在 Windows 中使用全局事件,键为 Global\docker-daemon-config-$PID。可以在配置文件中修改选项,但仍会检查与提供的标志的冲突。如果存在冲突,守护进程无法重新配置自身,但它不会停止执行

因此可以编辑registryand do sudo systemctl reload dockeror sudo kill -SIGHUP $(pidof dockerd)。这不会重新启动现有容器或守护进程本身

0 投票
1 回答
382 浏览

docker - docker 从远程注册表中拉两次

在最新的 Docker 中,我遇到了这样的问题。

当我拉取图像时,它会首先(快速)从我的注册表镜像中拉取它,然后是官方集线器(我猜,非常慢)。

但我以前没有这个问题。

我目前使用的 docker 版本(Docker for Windows)。

更新:今天又发生了。不确定它的配置是否有所改变,然后影响了 Docker。这些天我玩 Minikube 和 Kind。

更新:,创建一个问题moby/moby#41547),如果您遇到同样的问题,请投票。

0 投票
1 回答
375 浏览

docker - Pull-Through 配置中的 Docker-Registry 不起作用

我正在使用官方Docker-registry映像作为直通缓存。

我试图尽可能简单地启动它,以尽量减少错误来源。

仅设置了代理选项,以使缓存通过。但是,通过似乎不想在我尝试过的任何配置中工作。启动生成预期的日志输出:

现在我们尝试通过缓存拉取图像:

但是,这不会产生预期的结果。它只是说:

日志告诉我(我不明白,为什么会出现 404 错误):

我认为这条线很重要:

这是 windows-wsl 日志输出。但是,在本机 ubuntu 20.4 机器上执行(或未执行)相同的完全相同的配置。

0 投票
1 回答
159 浏览

docker - 列出在 Private Docker Registry V2 中创建日期的镜像标签

我正在尝试列出我们私有 V2 docker 注册表中的所有图像。我正在寻找一种方法,我可以在其中列出图像的标签及其创建日期。

列出图像标签的方法之一是:

curl -X GET https://DOC-REG-URL.com/v2/REPO_NAME/IMAGE_NAME/tags/list

但是,它没有列出日期信息。

有没有办法做到这一点?

提前致谢。

0 投票
2 回答
334 浏览

docker - 我们可以更改 Kubernetes 镜像注册表搜索列表吗?

例如,我的 kube 集群有一个内部 docker 注册表,托管在internal-docker-registry.io:5000.

当 kube 集群中的 pod 拉取镜像busybox时,我不想从 docker hub 拉取docker.io。但相反,我希望它从internal-docker-registry.io:5000.

请注意,我无法将图像名称更改为,internal-docker-registry.io:5000/busybox因为我不拥有规范,而且我的集群中有太多此类第三方图像。

0 投票
1 回答
46 浏览

gitlab - 亚洲 gitlab 注册表镜像

在不在 GCE 上的管道中从 registry.gitlab.com 推送和拉取真的很困难,总是存在延迟或低带宽等问题。

是否有任何镜像或无论如何可以加速 docker 图像推送和拉取过程?