Linux中安装Docker 以及 用Docker安装MySql踩坑实录

为什么要用docker方式安装mysql? 参考文献

直接安装mysql的话,还需要自己设置相关的设置,有点麻烦,docker的一键安装比较方便,docker还可以安装其他的软件,例如redis、mongodb等众多软件,用起来也方便,当然,也可以自己定义docker,用自己配置好的docker容器,这部分这里没有介绍到,有兴趣的可以去了解下。

一、安装Docker

  1. 安装docker
yum install -y docker
  1. 开启docker服务
systemctl start docker.service
  1. 查看安装结果
docker version
  1. 设置开机启动
systemctl enable docker.service
  1. 查看docker服务状态
systemctl status docker
  1. 由于默认安装后的 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

  1. 拉取musql镜像
docker pull mysql
  1. 查看docker本地镜像库
docker image
  1. 创建并启动一个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

Linux中安装Docker 以及 用Docker安装MySql踩坑实录_第1张图片
杀死进程

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

在这里插入图片描述

  1. 尝试在navicat中连接数据库

Linux中安装Docker 以及 用Docker安装MySql踩坑实录_第2张图片
连接成功后,可以在navicat中新建数据库或表

  1. 命令行进入mysql
docker exec -it mysql bash
mysql -u root -p

Linux中安装Docker 以及 用Docker安装MySql踩坑实录_第3张图片

你可能感兴趣的:(环境配置,docker,linux,mysql)