Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > docker安装mysql报错

用docker安装mysql报错两种解决方案(Docker配置问题方面)

作者:没有对象的空引用

这篇文章主要介绍了用docker安装mysql报错两种解决方案的相关资料,错误可能由网络问题、DNS解析失败、配置问题或IP被限制引起,解决方案包括配置镜像加速器、修改Docker配置文件或直接在命令窗口配置,需要的朋友可以参考下

当我们使用docker安装mysql的时候报错:

这个错误表明 Docker 守护进程无法连接到 Docker Hub(registry-1.docker.io)。具体错误是连接超时(i/o timeout),通常由网络问题引起。

  1. 网络连接问题

    • 服务器无法访问互联网

    • 防火墙阻止了到 Docker Hub 的连接

    • DNS 解析失败

  2. Docker 配置问题

    • 需要配置镜像加速器(特别是国内服务器)

    • 代理设置不正确

  3. Docker Hub 访问限制

    • IP 被限制(常见于公共IP地址)

    • Docker Hub 限流

解决方案 :两种配置方案

第一种为:在文件里修改如下

1、编辑修改Docker 的配置文件,如果没有就创建:

mkdir -p /etc/docker         //创建
vim /etc/docker/daemon.json       //修改

2、在文件里加入以下加速器

{
  "registry-mirrors":

        [

    "https://mirror.gcr.io",
    "https://docker.registry.cyou",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn"

    "https://docker.1panel.live",
    "https://hub.rat.dev",
    "https://docker.actima.top"

        ]
}

3、重启服务 然后重新安装mysql

//重启:
sudo systemctl daemon-reload    
sudo systemctl restart docker
 
 
//安装mysql:
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

第二种为:在命令窗口直接配置

1、直接在命令窗口配置(第一种方案第二步骤的加速器)

2、重启服务 然后重新安装mysql

//重启:
sudo systemctl daemon-reload    
sudo systemctl restart docker
 
 
//安装mysql:
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

mysql的各部分作用说明:

  1. docker run:核心命令,创建并启动一个新容器

  2. -d:让容器在后台运行(类似"静音模式"),不占用当前命令行窗口

  3. --name mysql:给容器起个名字(这里叫mysql),方便后续管理

    • 就像给你的手机设置联系人姓名,比记号码更方便

  4. -p 3306:3306:端口映射设置(关键!)

    • 左边 3306:你电脑(宿主机)的端口号

    • 右边 3306:容器内部的端口号

    • 作用:把容器内的 MySQL 服务"暴露"出来,让你能通过电脑的 3306 端口访问

  5. -e 参数:设置容器的环境配置

    • TZ=Asia/Shanghai:设置容器使用北京时间

    • MYSQL_ROOT_PASSWORD=123:设置 MySQL 管理员密码为 123

    • 相当于给容器内的程序传递配置参数

  6. mysql:指定使用的镜像

    • 默认从 Docker Hub 下载最新版 MySQL 镜像

    • 可以指定版本:mysql:8.0(下载 8.0 版本)

通俗理解比喻

想象你在电脑里创建了一个"迷你独立服务器"(容器):

  • --name 相当于给这个迷你服务器贴标签

  • -p 相当于在它和你的电脑之间搭座桥

  • -e 相当于设置这个服务器的时区和密码

  • 最后的 mysql 决定这个服务器安装什么软件

安装完成:

1、安装mysql命令输入完以后等待,出现下面代表成功

2、测试,用可视化工具测试能否成功连上mysql,如果可以正面安装成功

3、主机为:你的虚拟机ip地址。

密码为:下面圈起来的位置:

总结 

到此这篇关于用docker安装mysql报错两种解决方案的文章就介绍到这了,更多相关docker安装mysql报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文