Docker中运行mysql并且数据目录存在本地
Docker中运行mysql并且数据目录存在本地
按https://github.com/NeuCharFramework/NCF/wiki/来弄
win11,docker v24.0.2, 镜像加速配置:
{ "debug": false, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [], "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] }
docker pull mysql docker run -itd --name MySQLDocker -p 33060:3306 -e MYSQL_ROOT_PASSWORD=123456 -v d:\data\mysql:/var/lib/mysql -d mysql
注:运行命令之前先在本地创建好d:\data\mysql目录,本来想用宿主机的3306端口的,不过在本机试了不行,报错,xxxx permision什么的。。搜索一下可能是hyper-v开了以后对一些端口是限制了吧。。换了个端口了。。然后网址里的docker里的目录是/var/lib/mysql/data, 但是我按这个是报错的, 自己改了下,改为/var/lib/mysql 就好了。。可能是每个MYSQL不同版本的默认数据目录不同吧, 2023年07月16日 测试的时候 docker pull mysql 下载下来的MYSQL版本是8.0.33
还有在我在宿主机里用sql studio连接的时候,服务器是localhost,端口为33060, 用户名root,密码123456,还需要在高级配置里加上allowPublicKeyRetrieval=true, 要不然连接不上
标签:docker,端口,本地,mysql,Docker,目录 From: https://www.cnblogs.com/niunan/p/17558356.html