Friday, 24 February 2023

Docker bind mount assumes ownership of container user

I had a mosquitto image running in Docker, with a bind mount:

docker run -it --name mosquitto -p 1883:1883  -v /home/pi/mosquitto/mosquitto:/mosquitto/ -v ~/mosquitto/mosquitto/log:/mosquitto/log -v ~/mosquitto/mosquitto/data:/mosquitto/data  eclipse-mosquitto

Before I ran the container: I created the source folder and set the owner to pi:

sudo chown -R pi /home/pi/mosquitto/

Yielding the following permissions

drwxr-xr-x  5 pi 1883 4096 Feb 19 20:14 mosquitto

On running the container the folder changes permissions:

drwxr-xr-x  5 1883 1883 4096 Feb 19 20:14 mosquitto

Debugging the container:

docker exec -it mosquitto /bin/sh

and checking the users:

sudo nano /etc/passwd

It can be seen that UID 1883 is the mosquitto user:

mosquitto:x:1883:1883:mosquitto:/var/empty:/sbin/nologin



No comments:

Post a Comment