Create user and group --------------------- Credentials -> Local Users -> Add Full Name: mysql Username: mysql Disable Password: Create Home Directory: Samba Authentication: Save mysql PUID=3061 mysql PGID=3062 Create datasets --------------- # In Truenas shell: # list datasets zfs list | grep -i "docker.*mysql" # create following datasets if not present zfs create SSD1/docker/data/mysql zfs create SSD1/docker/data/mysql/appdata chown -R mysql:mysql /mnt/SSD1/docker/data/mysql Create folders -------------- mkdir -p /mnt/SSD1/docker/stacks/mysql/secrets Copy folder to docker stacks ---------------------------- # In Windows cmd shell in mysql folder, enter: ./cp2nas 192.168.2.2 # or pscp -P 22 -r stacks/*.* root@192.168.2.2:/mnt/SSD1/docker/stacks/mysql/ # This should copy stacks folder to /mnt/SSD1/docker/stacks/mysql Create secrets -------------- In Truenas shell: cd /mnt/SSD1/docker/stacks/mysql/secrets # echo -n 'your_mysql_database_name' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_database_name # echo -n 'your_mysql_username' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_username # openssl rand 36 | base64 -w 0 | sed 's/[\$,\#,/,+,=]//g' | cut -c -32 | tr -d '\n' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_password openssl rand 60 | base64 -w 0 | sed 's/[\$,\#,/,+,=]//g' | cut -c -56 | tr -d '\n' > /mnt/SSD1/docker/stacks/mysql/secrets/mysql_root_password chown -R mysql:mysql /mnt/SSD1/docker/stacks/mysql/secrets/ chmod -R 400 /mnt/SSD1/docker/stacks/mysql/secrets/ # to list secrets in secrets dir cd /mnt/SSD1/docker/stacks/mysql/secrets for i in $(ls -1); do echo $i = `cat $i`; done | sort To open container shell ------------------------ docker exec -it mysql-mysql-1 bash To log into database as root from container shell ------------------------------------------------- mysql -u root -p # Enter root password