docker组成错误“在文件”./docker-compose.yml“,服务'旁遮普'必须是一个映射不是一个string。

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

我准备了堆栈旁遮普连接pipe理器,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'必须是映射而不是string。

我使用yamllintparsing了yml文件,并且文件格式正确。

虽然理论上文件格式可能看起来是正确的,但也有一些是错误的。

他们是:

  1. 使用depends_on而不是depends-on因为这是正确的语法。

  2. 为了达到最佳效果,请在通知图像之前使用空格: image: punjab

  3. 在旁遮普服务的portslinks上,您忘记冒号:

  4. Docker Hub上不存在ejabberdpunjab图片,因此它们必须存在于本地存储库中。

这是一个使用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 
Interesting Posts