如何为docker注册表允许多个'--insecure-registry'

mai*_*mer 7 docker docker-registry

众所周知,我们可以--insecure-registry/etc/default/docker配置文件中添加一个以允许不安全的注册表,如下所示:

DOCKER_OPTS="$DOCKER_OPTS --insecure-registry myregistry:5000"
Run Code Online (Sandbox Code Playgroud)

我的问题是:它是否支持添加多个,--insecure-registry因为我们需要与多个注册管理机构进行通信?

mic*_*ahr 17

您可以通过排列它们来指定多个不安全的注册表:

--insecure-registry IP1:PORT --insecure-registry IP2:PORT --insecure-registry IP3:PORT
Run Code Online (Sandbox Code Playgroud)

资料来源:https://github.com/docker/docker/issues/9026

  • 有没有一种方法可以告诉 docker 允许任何不安全的注册表,而不必枚举每个注册表? (3认同)
  • @frakman1 此参数也接受 CIDR 表示法,因此“--insecure-registry 0.0.0.0/1 --insecure-registry 128.0.0.0/1”应该覆盖它。由于显而易见的原因,不建议这样做。有关不安全注册表的更多信息,请参阅 https://docs.docker.com/engine/reference/commandline/dockerd/#insecure-registries。 (2认同)

Cam*_*lva 5

Docker 17.xx以上

  1. 编辑daemon.json文件的默认位置/etc/docker/daemon.json在Linux或C:\ProgramData\docker\config\daemon.jsonWindows Server上

    如果daemon.json文件不存在,请创建它。

    {
          "insecure-registries": ["myregistry:5000", "anotherregistry:5000"]
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 重新启动Docker以使更改生效。在Ubuntu中将是这样的:

    $ sudo systemctl daemon-reload
    $ sudo systemctl restart docker
    
    Run Code Online (Sandbox Code Playgroud)

在官方文档页面https://docs.docker.com/registry/insecure/中查找更多详细信息