跳到主要内容

Docker安装Mysql

docker安装mysql5.7

拉取镜像

# 默认下载MySQL5.7最新版本(指定版本: docker pull mysql:5.7.34)
docker pull mysql:5.7

mac m2芯片报错

no matching manifest for linux/arm64/v8 in the manifest list entries

可以尝试指定平台架构

docker pull --platform linux/amd64 mysql:5.7
# 或者
docker pull --platform linux/x86_64 mysql:5.7

查看镜像列表

docker images
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 c20987f18b13 18 months ago 448MB

创建挂载目录

# 宿主机创建数据存放目录映射到容器
mkdir -p ~/Workspace/docker_container/mysql_5_7/data

# 宿主机创建日志目录映射到容器
mkdir -p ~/Workspace/docker_container/mysql_5_7/logs

# 宿主机创建配置文件目录映射到容器
mkdir -p ~/Workspace/docker_container/mysql_5_7/conf #(需要在此目录下创建"conf.d"、"mysql.conf.d"两个目录)
mkdir -p ~/Workspace/docker_container/mysql_5_7/conf/conf.d # (建议在此目录创建my.cnf文件并进行相关MySQL配置)
mkdir -p ~/Workspace/docker_container/mysql_5_7/conf/mysql.conf.d

创建容器

# --privileged=true参数,让container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。
# 普通用户下创建容器可不添加--privileged=true参数
docker run -d --name mysql57 \
-p 23306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v ~/Workspace/docker_container/mysql_5_7/data:/var/lib/mysql \
-v ~/Workspace/docker_container/mysql_5_7/logs:/var/log/mysql \
-v ~/Workspace/docker_container/mysql_5_7/conf:/etc/mysql/conf.d \
mysql:5.7

mac m2上报了警告,但是能用

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
63bc7101c565 mysql:5.7 "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 33060/tcp, 0.0.0.0:23306->3306/tcp mysql57