当前位置: 首页 > article >正文

docker拉取镜像问题解决

docker拉取镜像问题解决


目前很多国内的docker镜像源都不能用了,这无疑影响了开发运维的效率。本文将以实践的方式给出如何解决此类问题。
最近笔者在部署一个后台服务的时候,需要部署mysql,redis、rabbitmq等中间件。redis的部署很简单,直接安装就好了,可是mysql要复杂得多,因为涉及到要设置root账号和密码,之前这样部署,看了网上很多博客,都难以解决。但是如果用docker去部署mysql,直接就是一行命令的事情,什么账户密码数据库可以全部设置好,相当地方便,也不容易出现各种系统版本环境变量乱七八糟的问题。
但是docker部署也有一个问题,直接拉去官方仓库的镜像对于笔者这种手上暂时没有网络工具的人来说不现实,那么只能设置为国内的代理镜像源,但众所周知,国内的大学或者知名大厂的开放镜像源现在基本上不能使用了,如下图,尝试了很多。

在这里插入图片描述
至于阿里云上的个人镜像源加速,据我了解和使用,也是没用的,只能拉取部分镜像。如下图,有一些国内打包好的镜像可以拉取,但是很多常见的组件如Redis等都没有对应的镜像。
在这里插入图片描述
这里分享一个搜索技巧,对于像激活码、镜像源这种变动性很大的东西,搜索的时候最好限制一下搜索的时间范围,优先考虑那种近期发布的信息。通过搜索,笔者了解到了目前还能使用的一个镜像网站docker.unsee.tech。由于无论怎么设置镜像源(修改/etc/docker/daemon.json),直接使用docker pull mysql这种方式去拉取,实际访问的网站都不是自己设置的代理镜像源,导致无法正常拉取,解决这类问题的方法是直接使用docker pull {镜像源}/{镜像}:{版本}的方式,如下图所示:
在这里插入图片描述
然后使用docker tag命令重命名,方便后续操作。
在这里插入图片描述
然后以下给出所有相关的docker起容器并且设置端口映射和设置账户密码的命令,实测有效:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=mydb -p 3306:3306 -d mysql
docker run --name redis -d -p 6379:6379 -e REDIS_PASSWORD=my-secret-pw redis
docker run --name rabbitmq -d -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=myuser -e RABBITMQ_DEFAULT_PASS=mypassword rabbitmq:3-management

然后mysql创建数据库表很也很简单,将sql脚本通过docker cp命令拷贝到对应容器中,然后进入容器,输入mysql -urrot -p进入mysql,通过source命令执行脚本完成创建数据库表的工作。
至于rabbitmq消息队列的配置,由于设置了端口映射,可以直接在容器所在宿主机通过浏览器访问对应的管理端口,输入命令中设置的账号密码,进入管理系统,设置交换机和队列。


http://www.kler.cn/a/408391.html

相关文章:

  • Shiro-550反序列化漏洞分析
  • D78【 python 接口自动化学习】- python基础之HTTP
  • Vue生命周期详解
  • 创建可重用React组件的实用指南
  • 网络爬虫总结与未来方向
  • 【C++】继承(inheritance)
  • 【Linux】gcc/g++使用
  • Python + 深度学习从 0 到 1(00 / 99)
  • 小公司该如何做好项目管理工作
  • 空安全-模块-并发
  • Go-protobuf consul注册备忘录
  • Ruby 模块(Module)
  • 智领未来: 宏集物联网HMI驱动食品与包装行业迈向智能化新高度
  • 【CSP CCF记录】201812-2第15次认证 小明放学
  • 数学建模学习(138):基于 Python 的 AdaBoost 分类模型
  • 【贪心算法-第三弹——Leetcode-179.最大数】
  • Python 虚拟环境使用指南
  • enumerate()
  • 【C++】类(五):构造函数再探
  • 【JavaEE初阶 — 网络原理】初识网络原理
  • 【教学类-18-05】20241118正方形手工纸(蒙德里安-风格派-红黄蓝黑白)
  • kafka进阶_3.消费消息
  • STM32F10x 定时器
  • Linux之SELinux与防火墙
  • Linux无sudo权限将zsh作为默认shell
  • BOM的详细讲解