When working with data and volumes within Docker and Docker Compose, there are use cases and situations where we need to make the data available to read-only operations.
This post will show you how to attach a volume to a Docker Compose application in a read-only mode.
To use Docker Compose, please check this post.
In the following configuration, We are mounting two volumes to the container (MySQL). The first volume (dbdata) gives the container read and write permissions to the container.
The second volume (readdata) gives the container read-only permission.
To check the configuration, copy-paste the code below, set the login details and run.
services:
backend:
image: mysql:5.7
volumes:
- type: volume
source: dbdata
target: /var/lib/mysql
- type: volume
source: readdata
target: /data
read_only: true
restart: always
environment:
MYSQL_ROOT_PASSWORD: set
MYSQL_DATABASE: wordpress
MYSQL_USER: dadmin
MYSQL_PASSWORD: set
volumes:
dbdata:
readdata:
If I try to write something to the volume, I receive the following error.
