Question: 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
In my case this was happening because I missed adding a :
after the volume name.
Instead of:
volumes: - mysqldata:
I had typed:
volumes: - mysqldata
docker-compose up
gave me the same error as above.
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.
volumes: maria_volume: external: name: volume-name
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With