Docker撰写错误“在文件'./docker-compose.yml'中,服务'punjab'必须是映射,而不是字符串。”

瓦巴夫·兰格妮

我在docker-compose.yml文件中遇到一个奇怪的错误。

我已经为堆栈旁遮普连接管理器,ejabberd和mysql准备了一个docker-compose文件。

以下是docker-compose.yml文件

version: '2'
services:
  punjab:
    image:punjab
    ports
     - 5280:5280
    links
     - ejabbberd:ejabberd
  ejabberd:
    image: ejabberd
    depends-on:
      - mysql
    links:
      - mysql:mysql
  mysql:
    image:mysql

当我从命令行以及具有docker-compose.yml文件的同一目录运行命令docker-compose时,出现以下错误。

错误:在文件'./docker-compose.yml'中,服务'punjab'必须是映射,而不是字符串。

我也使用yamllint解析了yml文件,并且文件格式正确。

阿尔维斯·布拉兹(CauêAlves Braz)

尽管从理论上讲文件格式看起来正确,但是有些错误。

他们是:

  1. 使用depends_on代替,depends-on因为这是正确的语法。

  2. 为了获得最佳实践,请在通知图像之前使用空格,例如:image: punjab

  3. portslinks在旁遮普邦的服务,你忘了冒号:

  4. 映像ejabberdpunjab不存在于Docker Hub上,因此它们必须存在于您的本地存储库中。

这是使用一个示例docker-compose.yml

version: '2'
services:
  punjab:
    image: punjab
    ports:
      - "5280:5280"
    links:
      - ejabberd

  ejabberd:
    image: ejabberd
    depends_on:
      - mysql
    links:
      - mysql

  mysql:
    image: mysql

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章