Docker For Window :
说明:
-p 3307:3306 3307宿主机端口号(Window内端口号),3306容器端口号
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码
-v 挂载/etc/mysql/conf在外部去添加到 C:\DockerData\MySql\conf.d
挂载容器mysql目录下的logs在外部去添加到 C:\DockerData\MySql\logs 目录
挂载容器mysql目录下的data 在外部去添加到 C:\DockerData\MySql\data 目录
docker run -d --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v C:\DockerData\MySql\conf:/etc/mysql/conf.d -v C:\DockerData\MySql\logs:/logs -v C:\DockerData\MySql\data:/var/lib/mysql mysql
Docker For Linux:
说明:
-p 3307:3306 3307宿主机端口号(Linux内端口号),3306容器端口号
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码
-v 挂载/etc/mysql/conf在外部去添加到 /MySql/conf.d
挂载容器mysql目录下的logs在外部去添加到 /MySql/logs 目录
挂载容器mysql目录下的data 在外部去添加到 /MySql/data 目录
docker run -d --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /MySql/conf:/etc/mysql/conf.d -v /MySql/logs:/logs -v /MySql/data:/var/lib/mysql mysql
扩展:
在Docker备份数据库:
最后的目录为,备份到数据到宿主机所在目录
Docker For Window:
docker exec <容器ID>|<容器名> sh -c "exec mysqldump --all-databases -uroot -p 123456" > C:/DockerData/MySql/all-database.sql
Docker For Linux:
docker exec <容器ID>|<容器名> sh -c "exec mysqldump --all-databases -uroot -p 123456" > /MySql/all-database.sql