一、安装Docker为什么要用docker方式安装mysql? 参考文献
直接安装mysql的话,还需要自己设置相关的设置,有点麻烦,docker的一键安装比较方便,docker还可以安装其他的软件,例如redis、mongodb等众多软件,用起来也方便,当然,也可以自己定义docker,用自己配置好的docker容器,这部分这里没有介绍到,有兴趣的可以去了解下。
- 安装docker
yum install -y docker
- 开启docker服务
systemctl start docker.service
- 查看安装结果
docker version
- 设置开机启动
systemctl enable docker.service
- 查看docker服务状态
systemctl status docker
- 由于默认安装后的 Docker 环境在拉取 Docker 镜像时速度很慢,需要手动配置镜像加速源,提升获取 Docker 镜像的速度。
编辑配置文件:
vim /etc/docker/daemon.json
在其中加⼊加速镜像源地址:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
例如这里使用的是 网易 的加速源,其他像 阿里云 、 DaoCloud 这些也都提供加速源,按需选择即可。
加完加速地址后,重新加载配置⽂件,重启 docker 服务即可
systemctl daemon-reload systemctl restart docker.service
然后就可以进行拉镜像操作。速度会较快。
补充:查看docker拉取的镜像的版本:
docker image inspect redis:latest | grep -i version二、使用docker安装mysql
- 拉取musql镜像
docker pull mysql
- 查看docker本地镜像库
docker image
- 创建并启动一个mysql容器
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
-name :容器的名称,这里取名为mysql
-e 配置账户密码,这里为root账户,密码为root
-p 端口映射,本机的3306端口映射容器的3306端口
-d 启动容器后输出容器的id
最后的mysql表示镜像名字为mysql
注意!!!
这里如果报错
(1)Error response from daemon: driver failed programming external connectivity on endpoint
解决方案:重启docker服务后再启动容器
systemctl restart docker docker start 容器名
(2)Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use 参考文献
解决方案:
查看当前占用端口
netstat -tanlp
杀死进程
kill 占用端口进程的PID kill 1330
然后重新启动容器
(3)Error response from daemon: oci runtime error: container_linux.go:247: starting container process 参考文献
解决办法:
yum update
然后重启docker
systemctl restart docker
然后重启动容器mysql
docker start mysql
- 尝试在navicat中连接数据库
连接成功后,可以在navicat中新建数据库或表
- 命令行进入mysql
docker exec -it mysql bash
mysql -u root -p



