简体   繁体   中英

Cannot find mysql docker data files on my volume local host

I created a simple mysql docker instance as

docker run -d
--name mysql3
-p 3306:3306
-v db:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=rsecret
-e MYSQL_DATABASE=mkt_data_db
mysql/mysql-server:8.0

After that I logged in and created tables

$docker exec -it mysql3 bash
#mysql -u root -p

use mkt_data_db;
create table price (ticker char(30), eod_date date, close float);
insert into price(ticker, eod_date, close) values ('xyz', curdate(), 100.1);

When I logout and check db directory, its empty

$ ls -al db/
total 0
drwxr-xr-x 2 accnt staff 64 21 Jun 23:38.
drwxr-xr-x 6 accnt staff 192 21 Jun 23:38..

when I stop+rm+run docker again, I do see the the 'price' table and the data within it
Where is the database stored on my local host (mac)?
I would ideally like to move these database files (data) to another computer, provide new DB volume on docker run there and see the data on that machine.

This is an interesting problem, and kudos to you for posting the answer!

I'd be curious to know what the result of docker inspect mysql3 would show (look for the "Mounts" section in the large amount of output) when NOT specifying the full path (like in your original question).

An afterthought: I like to use pwd when creating a shared volume (assuming you are running the command in the desired directory):

    docker run -d
    --name mysql3
    -p 3306:3306
    -v $(pwd):/var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=rsecret
    -e MYSQL_DATABASE=mkt_data_db
    -e MYSQL_USER=mkt_data_usr
    -e MYSQL_PASSWORD=usecret
    mysql/mysql-server:8.0

The above problem was solved by providing absolute path with -v flag ie

docker run -d
--name mysql3
-p 3306:3306
-v /Users/accnt/db:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=rsecret
-e MYSQL_DATABASE=mkt_data_db
-e MYSQL_USER=mkt_data_usr
-e MYSQL_PASSWORD=usecret
mysql/mysql-server:8.0

ie change -v db:/var/lib/mysql to -v /Users/accnt/db:/var/lib/mysql
After that $ls -l /Users/accnt/db showed my entire db contents (including mkt_data_db and price table inside

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM