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:后台运行容器,保证在退出终端后容器继续运行

    扫描二维码关注公众号,回复: 15296108 查看本文章
  • --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测试连接:显示连接成功

猜你喜欢

转载自blog.csdn.net/weixin_52097724/article/details/128576284