Why do I get this error? ERROR: In file './docker-compose.yml', volume 'mariavolume' must be a mapping not a string.
My docker-compose file is almost identical to this one: https://docs.docker.com/compose/wordpress/
version: '2'
services:
wordpress:
image: wordpress:latest
restart: always
depends_on:
- db
ports:
- 8080:80
environment:
WORDPRESS_DB_PASSWORD: example
WORDPRESS_DB_HOST: 3306
db:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
volumes:
- maria_volume: /var/lib/mysql
volumes:
maria_volume: ~/mariadb
try this:
In my case this was happening because I missed adding a
:
after the volume name.Instead of:
I had typed:
docker-compose up
gave me the same error as above.For me this works:
In #docker_compose.yml:
Unfortunately, there is no such a feature.
You can’t map a top-level volume in docker-compose.
Here are the options:
Create a volume outside of the compose (with mapping) and use it in your compose.
Try this:
I was running into the same issue as yourself and as a last act of despair I tried putting
before
I'm not sure what kind of magic applied here but in my case, it worked
Let me know!