Search code examples
mysqldockercontainersvolume

Docker create volume for MySQL


I'm starting to use docker implement mysql in our environment. But I have a little bit confuse about it. 1. I have tried to use command, it's working

sudo docker run --name mysql5.7 --restart always --privileged=true -p 4306:3006 -v /Users/user/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /Users/user/mysql/data:/var/lib/mysql -e MYSQL_USER=“usr” -e MYSQL_PASSWORD=“1234” -e MYSQL_ROOT_PASSWORD=“1234” -d mysql:5.7
  1. But follow docker document, they suggest use volume to persist data. So I tried crate a volume first docker volume -d create local mysql_v

  2. try to link mysql to volume mysql_v, but I don't know how to do it and what is different with step 1.

anyone can suggest it ~?


Solution

  • Like

    docker run --name mysql5.7 --restart always -p 4306:3006 \
         -v /Users/user/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
         -v mysql_v:/var/lib/mysql \
         -e MYSQL_USER=“usr” -e MYSQL_PASSWORD=“1234” \
         -e MYSQL_ROOT_PASSWORD=“1234” -d mysql:5.7
    

    Note, privileged removed, that's just asking for trouble

    Ref: official documents