1.1.拉取镜像

DockerHub官网

docker pull mysql:oracle

2.在宿主机上面建立挂载的数据卷,防止数据丢失

1.1创建本地数据库目录、配置文件以及日志目录(方便进行容器数据卷挂载)

注:因为mysql容器一旦销毁,数据库也就随之销毁,为了解决这个问题,docker官方提出了容器数据卷技术,就是在宿主机上新建一些目录与容器内的目录映射,当容器销毁时,宿主机上的目录文件不会消失,依然存在.
新建目录命令:

# 建立宿主机数据库目录
mkdir -p /root/mysql/datadir
# 建立宿主机数据库配置文件
mkdir -p /root/mysql/conf
# 建立宿主机数据库日志目录
mkdir -p /root/mysql/log

1.2启动容器并挂载数据卷

docker run --name mysql -p 3306:3306 -v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 -d eb3f4a2767a3

对应的参数解释如下:

-p 3306:3306
端口映射,将宿主机3306端口与容器3306端口做映射,这样就可以通过宿主机IP+端口访问容器的3306端口了
格式:-p 宿主机端口:容器端口
–name mysql:
指定容器名字为mysql,也可以不指定,不指定会给容器默认制定一个名字
-v /root/mysql/datadir:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/var/log/mysql
数据容器卷挂载:
-v /root/mysql/datadir:/var/lib/mysql:对宿主机数据库目录与容器数据库目录进行映射挂载
-v /root/mysql/conf:/etc/mysql/conf.d:对宿主机数据库配置文件与容器数据库配置文件进行映射挂载
-v /root/mysql/logs:/var/log/mysql:对宿主机数据库日志与容器数据库日志进行映射挂载
-e MYSQL_ROOT_PASSWORD=123456
配置mysql的root账号的密码为123456(可以根据需要自行修改密码)
-d:后台执行
eb3f4a2767a3 :镜像id,容器第一次启动要根据镜像来启动,所以镜像id必不可少。可以通过命令docker iamges查看镜像id

Q.E.D.