Docker compose error “In file './docker-compose.yml', service 'punjab' must be a mapping not a string.”
I am getting a strange error in my docker-compose.yml file.
Below is the docker-compose.yml file
version: '2' services: punjab: image:punjab ports - 5280:5280 links - ejabbberd:ejabberd ejabberd: image: ejabberd depends-on: - mysql links: - mysql:mysql mysql: image:mysql
When I run the command docker-compose up from the command line and from the same directory where I have the docker-compose.yml file, I get the following error.
ERROR: In file ‘./docker-compose.yml’, service ‘punjab’ must be a mapping not a string.
I parsed the yml file using yamllint as well and the file is correctly formatted.
One Solution collect form web for “Docker compose error “In file './docker-compose.yml', service 'punjab' must be a mapping not a string.””
Although in theory the file format may look correct, there are some things that are wrong.
depends-onbecause that is the correct syntax.
For best practice, use a blank space before informing the image like:
linksat punjab service, you forget the colon
punjabdo not exist on Docker Hub so they must exist in your local repository.
This is an example to use a
version: '2' services: punjab: image: punjab ports: - "5280:5280" links: - ejabberd ejabberd: image: ejabberd depends_on: - mysql links: - mysql mysql: image: mysql