如何创建docker注册表镜像

v11*_*v11 1 docker docker-registry

我使用 MAC OS X。我想在本教程中使用镜像,它的第 1 步需要这样做:

docker --registry-mirror=http://<my-docker-mirror-host> -d
Run Code Online (Sandbox Code Playgroud)

但是,当我在终端中使用此命令时,它不起作用:

提供但未定义的标志:--registry-mirror 请参阅“docker --help”。

然后,我在教程中使用另一种方式:

您可以将 --registry-mirror 选项添加到 /etc/default/docker 中的 DOCKER_OPTS 变量

我不知道在哪里添加这个 DOCKER_OPTS。我想在客户端 1.7.0 中使用镜像。谁能告诉我如何设置镜子?
我使用这个命令来创建镜像:

docker run -d -p 5000:5000 -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/Users/v11/Documents/docker-registry --restart=always --name mirror -e STANDALONE=false -e MIRROR_SOURCE=https://registry-1.docker.io -e MIRROR_SOURCE_INDEX=https://index.docker.io registry
Run Code Online (Sandbox Code Playgroud)

我测试了它,发现它不像它描述的那样可以从本地注册表下载。即使我没有使用这个命令:

docker push localhost:5000/batman/ubuntu
Run Code Online (Sandbox Code Playgroud)

这个命令以前可以用,真不知道怎么回事。也许标志“STANDALONE=false”会影响?我想设置镜像,谁能告诉我怎么做。谢谢。

Adr*_*uat 5

问题是命令:

$ docker --registry-mirror=http://<my-docker-mirror-host> -d
Run Code Online (Sandbox Code Playgroud)

用于配置 Docker 守护程序,而不是 Docker 客户端。在 boot2docker(您大概正在使用的)中,这意味着您需要登录 boot2docker VM 并在那里运行这些命令。

您可以使用boot2docker ssh. 虽然您可以停止守护进程并使用新命令重新启动,但最好编辑/var/lib/boot2docker/profile每次 boot2docker 重新启动时将使用的文件。只需添加如下内容:

EXTRA_ARGS="--registry-mirror=http://<my-docker-mirror-host>"
Run Code Online (Sandbox Code Playgroud)

如果您随后重新启动 boot2docker,您应该就可以开始使用了。