如何使用 ansible 从不安全的 docker 注册表中提取数据?

ask*_*ask 5 ansible docker docker-registry

太长了;我希望 ansible 通过 http 而不是 https 来提取 docker 镜像。

我有两个虚拟机在同一网络中运行。其中之一是本地 Docker 注册表。另一个应该通过 ansible 脚本从前者提取图像。但是,我收到一个错误,指出注册表需要 https,但实际是 http。

这似乎解决了之前的问题。用于从私有注册表运行 Docker 容器的 Ansible 任务

不幸的是,ansible docker: 已经过时了,我需要使用 docker_container,而后者没有 insecure_registry 选项。

这就是现在的样子

  - name: Run kollega 
    docker_container:
      name: image_name
      image: "ip-to-registry/image:latest"
      ports:
        - "4000:4000"
      restart_policy: unless-stopped
      recreate: yes
      pull: yes
      env:
Run Code Online (Sandbox Code Playgroud)

我可以在此处添加一些神奇的命令来接受 http 注册表,还是我必须生成一些自签名证书?

Sac*_*ith 4

在您使用 ansible 到达的目标节点中,将其添加到/etc/docker/daemon.json

{
  "insecure-registries" : ["your-registry:5000"]
}
Run Code Online (Sandbox Code Playgroud)

systemctl restart docker

参考