desc = name 必须作为 dns 名称组件有效

mun*_*ger 3 dns docker docker-compose docker-swarm

我正在尝试将 minio 部署到我的 docker 集群,并且我的 docker-compose 脚本基于在 minio.io 上找到的自动生成的脚本

问题是,当我尝试将它部署到我的集群时出现错误desc = name must be valid as a dns name component,在搜索网络 abit 后,这似乎主要与包含.. 但是我的没有,所以我想知道是什么导致了这个错误,因为我没有看到任何不是有效 dns URL 的东西(我很可能是错的)

码头工人撰写文件:

version: '3'

services:
 minio1:
  image: minio/minio
  volumes:
   - minio-data1:/export
  ports:
   - "9001:9000"
  networks:
   - minio_distributed
  environment:
   MINIO_ACCESS_KEY: <ACCESS>
   MINIO_SECRET_KEY: <SECRET>
  deploy:
   restart_policy:
    delay: 10s
    max_attempts: 10
    window: 60s
  command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export 

 minio2:
  image: minio/minio
  volumes:
   - minio-data2:/export
  ports:
   - "9002:9000"
  networks:
   - minio_distributed
  environment:
   MINIO_ACCESS_KEY: <ACCESS>
   MINIO_SECRET_KEY: <SECRET>
  deploy:
   restart_policy:
    delay: 10s
    max_attempts: 10
    window: 60s
  command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export 

 minio3:
  image: minio/minio
  volumes:
   - minio-data3:/export
  ports:
   - "9003:9000"
  networks:
   - minio_distributed
  environment:
   MINIO_ACCESS_KEY: <ACCESS>
   MINIO_SECRET_KEY: <SECRET>
  deploy:
   restart_policy:
    delay: 10s
    max_attempts: 10
    window: 60s
  command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export 

 minio4:
  image: minio/minio
  volumes:
   - minio-data4:/export
  ports:
   - "9004:9000"
  networks:
   - minio_distributed
  environment:
   MINIO_ACCESS_KEY: <ACCESS>
   MINIO_SECRET_KEY: <SECRET>
  deploy:
   restart_policy:
    delay: 10s
    max_attempts: 10
    window: 60s
  command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export 

volumes:
  minio-data1:
  minio-data2:
  minio-data3:
  minio-data4:

networks:
 minio_distributed:
  driver: overlay
Run Code Online (Sandbox Code Playgroud)

所以显然有些东西我没有正确理解

小智 7

在 portainer 中创建堆栈时,堆栈名称用于创建网络名称 ( <stack_name>_<network_name>)。因此,如果它包含未经授权的字符(如.或空格),则网络名称将被拒绝。命名您的堆栈没有任何特殊字符,您可以部署它。

  • 惊人的。我的容器名称中有一个点,因此失败了。有趣的是,如果我将它作为普通容器运行,它就会使用该名称。如果我将它作为群体的一部分运行,它就会失败。 (2认同)