欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > docker拉取镜像问题解决

docker拉取镜像问题解决

2025/5/12 7:06:42 来源:https://blog.csdn.net/rtffcggh/article/details/143993661  浏览:    关键词: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消息队列的配置,由于设置了端口映射,可以直接在容器所在宿主机通过浏览器访问对应的管理端口,输入命令中设置的账号密码,进入管理系统,设置交换机和队列。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词