环境配置
vbox
centos7.9
docker(已经配置阿里镜像源)
首先
拉取MySQL镜像
docker pull mysql:版本号
版本号不打也可以,会默认下载最新版(latest)
下载后使用docker images查看镜像
如图我下载了MySQL5.7/8.0/latest版本

然后执行下面的命令就可以启动(运行)容器了

docker run -d -p 3306:3306 \                     run运行容器  -d 后台运行 -p 端口映射
> --name mysql5.7 \                              命名
> -v ~/mydata/mysql/log:/var/log/mysql  \         挂载目录  宿主机文件路径 : 容器文件路径  /xx/xx/xx:/xx/xxx
> -v ~/mydata/mysql/data:/var/lib/mysql  \        如果是 xx:/xx/xxx则属于数据卷映射 在最后解释
> -v ~/mydata/mysql/conf:/etc/mysql \
> -e MYSQL_ROOT_PASSWORD=123456  \               设置MySQL的root用户密码 
> --privileged=true  \                           让容器获得宿主机的root权限 我个人认为很重要,不然很容易无法正常运行容器,当然这是我的问题,酌情添加
> -d mysql:5.7                                   选择镜像版本 

其中 ~/mydata/../..中 ~ 的意思是本地目录,避免挂载到根目录(/)上

命令docker ps -a查看容器

如图 up 表示运行就没什么大问题

命令docker exec -it 容器名 /bin/bash进入容器
mysql -u root -p 后输入密码进入MySQL
show databases;查看数据库 ,如果一切如图所示,就没什么问题了

最后解释一下挂载目录和数据卷映射的区别
挂载目录是将宿主机中的文件内容覆盖到容器中 比如开始宿主机为0 容器为1 目录挂载后 宿主机和容器均为 0
而数据卷映射是容器中的文件重写一个到宿主机中 开始宿主机中为0 容器为1 卷映射后 宿主机和容器均为 1

不过卷映射的文件不能直接ls (-a)出来 需要使用命令docker volume ls来查看
如下图是三个数据卷

这是一个运行Redis容器的示例

posted on 2024-07-28 22:06  mingkangruan  阅读(24)  评论(0编辑  收藏  举报