首页 > 解决方案 > 部署支持 IPv6 的 docker 私有注册表

问题描述

我正在尝试部署一个支持 IPv6 的私有 docker 注册表。我按照此处的步骤定义了我的 IPv6 地址。

码头工人-compose.yml

version: '2.1'

services:
  registry:
    restart: always
    image: registry:2
    ports:
      - "5000:5000"
    environment:
      REGISTRY_AUTH: htpasswd
      REGISTRY_AUTH_HTPASSWD_REALM: Registry
      REGISTRY_AUTH_HTPASSWD_PATH: /auth/registry.password
      REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
    volumes:
      - ./auth:/auth
      - ./data:/data
    networks:
      dock_net:
        ipv6_address: 2001:db8::10
networks:
  dock_net:
    enable_ipv6: true
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 2001:db8::/32
          gateway: 2001:db8::1

据我所知,它“有效”。Adocker inspect将全局 IP 地址显示为我定义的地址。我可以 ping 该地址,但如果我curl -u username:password http://[<ipv6 address>]:5000/v2/_catalog在主机系统(托管存储库的那个)上发出问题,它会失败,并且没有路由到主机。

在设置过程中我错过了一个步骤吗?

标签: dockeripv6

解决方案


如果需要从 Internet 访问 - 你可以将它放在 cloudflare 后面,它可以从 ipv6 和 ipv4 访问。


推荐阅读