1、选择mysql版本
官方网站:https://hub.docker.com/search?q=mysql&type=image
2、将镜像文件pull下来
注:不指定版本号默认拉取最新版
docker pull mysql
3、启动mysql服务
a、基本启动
docker run -e MYSQL_ROOT_PASSWORD=root mysql:5.7.32
Tips:-e MYSQL_ROOT_PASSWORD=root (表示将mysql密码设为root)
mysql:5.7.32(表示使用mysql5.7.32版本)
b、启动一个mysql服务,后台运行,指定root用户密码,指定容器名字,指定服务端口
docker run -d --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.32
[root@localhost ~]# docker run -d --name mysql01 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.327c5d8c5c2d8e90984c3ac0029de3f39d9ba3fb886a3be3e3fd0640b68d348826
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7c5d8c5c2d8e mysql:5.7.32 "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql01
c、启动一个mysql后台运行,指定root用户密码,指定容器名字,使用数据卷持久化到宿主机,指定名字
Tips:在docker官网可查看到mysql数据默认存储在/var/lib/mysql路径下
[root@localhost ~]# docker volume ls
DRIVER VOLUME NAME
local 0c77d0f737012800333dde2bdb5f84674903738abc090e532561a1f5c2456203
local 7f0747d3a03bc867ae9338da399322f6c979fb4b54225c3ff16cba037a22cc6a
local 406ce50d2669e066948b10c7b37a4d77b69369fbbeaca4283720494cb472fe43
local dcb2a5cd7c2da4e3bbf9bab6327bbb5e7eb501628a9391f12e1f41276bb9ad81
[root@localhost ~]# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql -v mysqldata:/var/lib/mysql mysql:5.7.32
a5c43b2aa6a3e698553a7db0b68ae74d7290359e945671112b24bfff8cf97bd4
[root@localhost ~]# docker volume ls
DRIVER VOLUME NAME
local 0c77d0f737012800333dde2bdb5f84674903738abc090e532561a1f5c2456203
local 7f0747d3a03bc867ae9338da399322f6c979fb4b54225c3ff16cba037a22cc6a
local 406ce50d2669e066948b10c7b37a4d77b69369fbbeaca4283720494cb472fe43
local dcb2a5cd7c2da4e3bbf9bab6327bbb5e7eb501628a9391f12e1f41276bb9ad81
local mysqldata
[root@localhost ~]# docker volume inspect mysqldata
[
{
"CreatedAt": "2021-08-30T17:27:50+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/mysqldata/_data", (mysql数据挂载在该路径下)
"Name": "mysqldata",
"Options": null,
"Scope": "local"
}
]
[root@localhost ~]# cd /var/lib/docker/volumes/mysqldata/_data
[root@localhost _data]# ls (由此可见mysql数据已成功同步到宿主机上)
auto.cnf client-cert.pem ibdata1 ibtmp1 private_key.pem server-key.pem
ca-key.pem client-key.pem ib_logfile0 mysql public_key.pem sys
ca.pem ib_buffer_pool ib_logfile1 performance_schema server-cert.pem
d、启动一个mysql后台运行,指定root用户密码,指定容器名字,使用数据卷持久化到宿主机,指定名字,将配置文件挂载到宿主机
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql -v mysqldata:/var/lib/mysql -v mysqlconfig:/etc/mysql mysql:5.7.32
Tips:在官网可知mysql配置文件存放在/etc/mysql下
root@a5c43b2aa6a3:/etc/mysql# ls
conf.d my.cnf my.cnf.fallback mysql.cnf mysql.conf.d
root@a5c43b2aa6a3:/etc/mysql#