mac m2 arm64 docker安装mysql 5.7
前提:已安装docker
拉取官方镜像
docker pull mysql:5.7 # 拉取 mysql 5.7
docker pull mysql # 拉取最新版mysql镜像
问题处理:
执行docker pull mysql:5.7 报错:
no matching manifest for linux/arm64/v8 in the manifest list entries
原因:
Mac m2的芯片,想用docker拉取mysql5.7的镜像,会报这个错误
uname -a #显示系统名、节点名称、操作系统的发行版号、内核版本等等。
Darwin liqiongdeMacBook-Pro.local 22.1.0 Darwin Kernel Version 22.1.0: Sun Oct 9 20:15:52 PDT 2022; root:xnu-8792.41.9~2/RELEASE_ARM64_T8112 arm64
解决方案:
docker pull --platform linux/x86_64 mysql:5.7
查看是否拉取成功
docker images

启动容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1
--name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:后台运行容器,保证在退出终端后容器继续运行
--lower_case_table_names=1:忽略大小写,docker mysql默认区分大小写的
注:参数顺序一定要对,--lower_case_table_names=1要加在镜像名后面,镜像名前面是参数,后面是mysql配置,不然会报错
lower_case_table_names=1 只能在初始化时配置
报错:
Error response from daemon: Conflict. The container name "/mysql" is already in use by container "6d6f0422533f4ab08042b9a55c6c06233cff32dff1826f7a56a6fff69efaaffa". You have to remove (or rename) that container to be able to reuse that name.
解决:
1、输入docker ps -a 查看所有实例运行

2、输入docker rm 6d6f0422533f 删除实例
3、 再次执行命令:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1
4、 显示执行成功

navicat测试连接:显示连接成功
