docker-compose : Unsupported config option for services service: 'web'
I am going through the Getting Started with Docker Compose page.
In Step 3, I made a docker-compose.yml
file as described:
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: redis
But when I run:
$ docker-compose up
I get following error:
Unsupported config option for services service: 'web'
What am I doing wrong? I was not able to figure out what is going on.
Support for the version 2 compose file format was introduced in docker-compose version 1.6, released around February of this year.
You're using 1.3.3, from July 2015.
You need to upgrade to a more recent version to use the version 2 format configuration files.
Since this is the first result on Googling "docker-compose Unsupported config option for services", I would like to add that the most common reason as of 2020 is missing of version: "3"
.
Just add version: "3"
to the start of your docker-compose.yml
.
From the docs:
There are currently three versions of the Compose file format:
- Version 1, the legacy format. This is specified by omitting a version key at the root of the YAML.
- Version 2.x. This is specified with a version: '2' or version: '2.1', etc., entry at the root of the YAML.
- Version 3.x, the latest and recommended version, designed to be cross-compatible between Compose and the Docker Engine’s swarm mode. This is specified with a version: '3' or version: '3.1', etc., entry at the root of the YAML.