ERROR: In file "./docker-compose.yml", volume must be a mapping not a string
😕 How to Fix the ERROR: In file './docker-compose.yml', volume 'mariavolume' must be a mapping not a string.
Are you getting an error message like this when running your Docker Compose file? Don't worry, you're not alone! This error often occurs when the volume configuration in your docker-compose.yml
file is incorrect.
📋 Understanding the Problem
The error message is indicating that the maria_volume
volume declaration should be a mapping, not a string. In other words, it should be defined using key-value pairs, rather than just a single string value.
In the example docker-compose.yml
file you shared, the volumes
section looks like this:
volumes:
- maria_volume: /var/lib/mysql
The issue here is that maria_volume
is just a string, instead of being a mapping.
💡 Easy Solutions
Solution 1: Correcting the Volume Declaration
To fix this error, you need to update the volume declaration in your docker-compose.yml
file. Instead of using a string, you need to define it as a mapping, like this:
volumes:
maria_volume:
driver: local
By using the mapping syntax, you now have the flexibility to specify additional options for the volume, such as the driver.
Solution 2: Removing the Volume Declaration
If you don't require any specific volume configuration, you can also remove the volume declaration altogether. In this case, Docker Compose will create a named volume automatically for you.
Simply remove the volumes
section from your docker-compose.yml
file, like this:
volumes:
# This section can be removed
⚡️ That's it!
After updating your docker-compose.yml
file with the correct volume declaration or removing it entirely, you should be good to go. You can now run your Docker Compose command without encountering the error.
If you found this guide helpful, feel free to share it with others who might be facing the same issue. Sharing is caring, after all! 🤗
Also, if you have any other questions or need further assistance, leave a comment below. Let's keep learning and exploring together! 💪
References:
Docker Compose documentation: https://docs.docker.com/compose/wordpress/
Docker documentation: https://docs.docker.com/
Keep on dockerizing! 👩💻🐳