37.docker拉取镜像失败和创建mysql5.6容器

问题

docker pull 拉取镜像文件超时,网络连接不上。

解决方案

/etc/docker目录下创建daemon.json文件。

文件内容为:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": true,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [
    "172.24.86.231"
  ],
  "registry-mirrors": [
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://ccr.ccs.tencentyun.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "log-driver":"json-file",
  "log-opts": {
    "max-size":"500m", 
    "max-file":"3"
  }
}

让配置文件生效执行命令:

sudo systemctl daemon-reload

sudo systemctl restart docker

拉取镜像成功:
docker pull mysql:5.6

启动mysql5.6的docker容器

docker run -id -p 3307:3306 --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6

 进去容器,然后登录mysql数据库:

 

 % 表示允许任何地址访问

如果这些配置都配置好,navicat还是无法访问到mysql容器的原因是:

宿主机路由的问题,路由没开就会导致宿主机与容器实例网络隔绝,所以是要打开的。

查看路由是否打开:

sysctl net.ipv4.ip_forward

返回1代表路由已开启,为0就是未开启。

开启路由

找到文件/etc/sysctl.conf 文件,将下面的内容写入其中:

net.ipv4.ip_forward = 1

执行命令:

sysctl -p # 加载内核

sysctl neti.ipv4.ip_forward # 再次查看路由是否开启。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卷土重来…

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值