Docker image无法下载?早就有解决办法了啊!
docker image不能下载, 这个消息怎么又火遍朋友圈了, 难道不是一直都不能用吗?
比如要pull postgresql的镜像, 我们是不是先要知道这个镜像的命名, 可是 hub.docker.com 早就不能访问了, 如果你有高科技上网当我没说.
https://hub.docker.com/_/postgres
5c1bf480a210:~ digoal$ docker pull postgresUsing default tag: latestlatest: Pulling from library/postgres
以前知道镜像命名, pull是可以的, 现在疯传的是不仅网站不能访问, pull也不行了, 会卡在pulling阶段.
虽然pulling可以配置proxy, 但这是个docker的收费能力.
使用代理需要付费:
5c1bf480a210:~ digoal$ docker pull postgresUsing default tag: latestError response from daemon: .Log in with your Docker ID or email address.If you don't have a Docker ID, head over to https://hub.docker.com/ to create one.Using a SOCKS proxy requires a Business Subscription. Learn more at https://www.docker.com/pricing/
现在即使有高科技上网, 也没法拉到docker image了, 修改了路由的v p n除外因为不需要代理.
我早就放弃了docker hub, 使用阿里云容器镜像服务, 把官方镜像拉到本地acr再使用舒服多了.
容器镜像服务: https://cr.console.aliyun.com/cn-hangzhou/instances
个人版免费使用
有2个数据库的学习镜像都放在acr里面, 里面包括PostgreSQL, PolarDB, DuckDB, HaloDB等, 同时在PG中内置了200多个常用的插件和数十个PG生态工具, 未来将集成更多优秀的国产DB和国产周边生态产品.
欢迎热爱数据库的同学使用.
X86版:
# 拉取镜像, 第一次拉取一次即可. 或者需要的时候执行, 将更新到最新镜像版本.docker pull registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts# 启动容器docker run --platform linux/amd64 -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts##### 如果你想学习备份恢复、修改参数等需要重启数据库实例的case, 换个启动参数, 使用参数--entrypoint将容器根进程换成bash更好. 如下:docker run -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g --entrypoint /bin/bash registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts##### 以上启动方式需要进入容器后手工启动数据库实例: su - postgres; pg_ctl start;##### 将 宿主机的存储位置 映射到 docker容器内 的例子# 宿主机:# mkdir -p ~/docker_volumn/pg# 创建容器时进行映射, 例如: -v ~/docker_volumn/pg:/data 将宿主机 ~/docker_volumn/pg 映射到 容器 /data# 如:# docker run -v ~/docker_volumn/pg:/data --platform linux/amd64 -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts###### 进入容器docker exec -ti pg bash# 连接数据库psql
ARM版:
# 拉取镜像, 第一次拉取一次即可. 或者需要的时候执行, 将更新到最新镜像版本.docker pull registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64# 启动容器docker run -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64##### 如果你想学习备份恢复、修改参数等需要重启数据库实例的case, 换个启动参数, 使用参数--entrypoint将容器根进程换成bash更好. 如下:docker run -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g --entrypoint /bin/bash registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64##### 以上启动方式需要进入容器后手工启动数据库实例: su - postgres; pg_ctl start;##### 将 宿主机的存储位置 映射到 docker容器内 的例子# 宿主机:# mkdir -p ~/docker_volumn/pg# 创建容器时进行映射, 例如: -v ~/docker_volumn/pg:/data 将宿主机 ~/docker_volumn/pg 映射到 容器 /data# 如:# docker run -v ~/docker_volumn/pg:/data -d -it -P --cap-add=SYS_PTRACE --cap-add SYS_ADMIN --privileged=true --name pg --shm-size=1g registry.cn-hangzhou.aliyuncs.com/digoal/opensource_database:pg14_with_exts_arm64###### 进入容器docker exec -ti pg bash# 连接数据库psql
小插曲:
高科技上网浏览hub.docker.com无意中发现Docker 提供了pulls统计数据, 现在国外PG流行度已经超过MySQL一个量级了?