I’m trying to create a simple start-mariadb command based on mariadb:10
from the hub. My commands I execute look like this:
#! /bin/bash
if [ ! -d ~/.mariadb ]; then
mkdir ~/.mariadb
fi
mysql_user=user
mysql_password=password
docker run --name mariadb -p 3306:3306 -v ~/.mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=$MARIADB_PW -e MYSQL_USER=$mysql_user -e MYSQL_PASSWORD=$mysql_password mariadb:10
docker rm mariadb
Data in ~/mariadb
is written with UID/GID of the mysql user within the running container, thus as a normal user I can not remove the created files. My idea was to change the UID and GID of the mysql user to the same as the user currently logged in user ( provided using -e UID=$UID
for example ). Therefore I created a new Dockerfile with a new entrypoint.
The lines are:
#! /bin/bash
usermod -u $UID mysql
groupmod -g $GID mysql
/docker-entrypoint.sh
This does not seem to work unfortunately. How could I provide the user the ability to remove ~/.mariadb
without giving him sudo rights?
UPDATE Thought it should be possible using the new user namespaces. I added --userns-remap
to /etc/init.d/docker and added --uidmap="999:1000:1"
to docker run but this did not work.
Kind regards,
Sascha