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