这里以安装8.0.2为示例
docker pull mysql:8.0.20
docker run -p 3306:3306 --name mysql-8.0.20 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20
docker cp mysql-8.0.20:/etc/mysql ~/
这里如果提示权限不足,可以先拷贝的当前用户目录,再移动过去即可。
docker stop mysql-8.0.20 docker rm mysql-8.0.20
# 端口映射 -p # 自定义容器名称 --name mysql-8.0.20 # 挂载文件权限设置(容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限) --privileged=true # 设置开机后自动重启容器 --restart unless-stopped # 挂载配置文件 宿主机:容器目录 -v /docker/mysql/mysql:/etc/mysql # 挂载日志 -v /docker/mysql/logs:/logs # 挂载数据文件 持久化到主机, -v /docker/mysql/data:/var/lib/mysql # 容器时间与宿主机同步 -v /etc/localtime:/etc/localtime # 设置密码 -e MYSQL_ROOT_PASSWORD=123456 # 后台运行容器 根据mysql:8.0.20镜像 -d mysql:8.0.20
# 安装mysql-8.0 docker run \ -p 3306:3306 \ --name mysql-8.0.20 \ --privileged=true \ --restart unless-stopped \ -v /docker/mysql/mysql:/etc/mysql \ -v /docker/mysql/logs:/logs \ -v /docker/mysql/data:/var/lib/mysql \ -v /etc/localtime:/etc/localtime \ -e MYSQL_ROOT_PASSWORD='xxx' \ -d mysql:8.0.20