踩坑:
docker容器mysql配置的端口映射要一致,否则mysql客户端连接通讯异常。
在Mac上使用Docker安装MySQL的过程可以分为几个步骤,下面是详细的指南:
步骤1:安装Docker
确保你已经在Mac上安装了Docker。如果还没有安装,你可以访问Docker官网(https://www.docker.com/products/docker-desktop)下载Docker Desktop for Mac并进行安装。安装过程中,根据提示操作即可。
步骤2:配置Docker加速器(可选但推荐)
由于默认的Docker镜像仓库在国外,国内用户可能会遇到下载速度慢的问题。可以通过配置国内镜像源来加速下载。在Docker Desktop的偏好设置(Docker -> Preferences)中,找到Docker Engine,编辑配置文件加入国内镜像源地址,例如阿里云的镜像源,然后点击"Apply & Restart"重启Docker。
步骤3:拉取MySQL镜像
打开终端,输入以下命令来搜索MySQL镜像:
docker search mysql
选择合适的版本进行拉取,如果没有指定版本,会默认拉取最新版。例如,拉取最新版MySQL镜像:
docker pull mysql
如果你想拉取特定版本,可以在mysql
后面加上版本号,例如:
docker pull mysql:5.7
步骤4:运行MySQL容器
使用docker run
命令来启动MySQL容器。你需要设置端口映射、数据卷挂载以及初始化root用户的密码。以下是一个示例命令:
docker run -d \
--name mysql-server \
-p 3306:3306 \
-v ~/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
mysql:latest
docker run -d \
--name mysql56-server \
-p 3307:3307 \
-v ~/mysql56/data:/var/lib/mysql56 \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
这里做了几件事:
-d
表示以后台模式运行容器。--name mysql-server
指定容器名称为mysql-server。-p 3306:3306
将容器的3306端口映射到主机的3306端口。-v ~/mysql/data:/var/lib/mysql
将主机的~/mysql/data
目录挂载到容器内的/var/lib/mysql
,用于持久化数据。-e MYSQL_ROOT_PASSWORD=my-secret-pw
设置MySQL root用户的密码。
步骤5:验证安装
你可以通过以下命令检查容器是否正在运行:
docker ps
你应该能看到名为mysql-server的容器正在运行。
步骤6:连接MySQL
现在,MySQL已经在Docker容器中运行,你可以使用MySQL客户端(如MySQL Workbench或Navicat)连接到localhost的3306端口,使用之前设定的密码进行登录。
注意:如果在M1芯片的Mac上运行,可能需要指定平台为amd64,使用--platform=linux/amd64
参数,例如:
docker run -d --platform=linux/amd64 ... # 其余参数保持不变
以上就是在Mac上使用Docker安装MySQL的详细过程。