国内服务器不能访问外网,现在国内也很难找到稳定的公用的docker镜像,现在唯一稳定的办法就是创建自己的私有docker镜像仓库,此教程默认服务器和本机已经搭建好docker环境,主要是用来解决国内服务器无法访问docker官方镜像(自己电脑是可以访问才可以)
一.创建实例
1.进入阿里云容器镜像服务
cr.console.aliyun.com/cn-beijing/…
2.创建个人版实例(企业用户创建企业版)
个人版是免费的,但是限额,个性项目完全够用
选一个离服务器近的地区,立即创建即可
登陆
我们点击访问凭证,设置好固定密码
在终端输入此指令,然后输入密码,返回
Login Succeeded代表登陆成功
二.拉取,上传镜像
1.拉取官方镜像(自己电脑可以访问外网)
docker pull --platform linux/amd64 redis:latest
默认情况下,Docker 可能会根据你的操作系统架构拉取镜像,所以我为了确保拉取的是 Linux x86_64(amd64) 版本(我服务器是linux amd64的,我们要拉取对应自己服务器操作系统服务器架构的)使用以下命令:
--platform linux/amd64 :指定服务器架构版本
拉取成功!
没下载Docker DeskTop同学可以
docker inspect redis:latest | grep Architecture
2.给镜像打标签(tag)
阿里云要求上传的镜像带有其 Registry 前缀,否则无法推送:
docker tag redis:latest [你的阿里云公网地址]/[镜像名]:latest
3.上传官方镜像到阿里云
docker push [你的阿里云公网地址]/[镜像名]:latest
4.上传成功
三.如何使用?
服务器也必须登陆,不然无法拉取!!!
登陆之后,我们只要把服务器的docker-compose.yml文件的image,改为阿里云的公网地址即可
services:
app:
image: 替换成你的地址
ports:
- "3000:3000"
volumes:
- /var/docker/public:/app/public
environment:
- MONGO_URI=mongodb://mongo:27017/ronBlog
- REDIS_HOST=redis # 添加 Redis 连接信息
- REDIS_PORT=6379
depends_on:
- mongo
- redis # 依赖 Redis 启动
mongo:
image: 替换成你的地址
container_name: ron-blog-mongo
ports:
- "27017:27017"
volumes:
- ./data/db:/data/db
redis:
image:替换成你的地址
container_name: ron-blog-redis
ports:
- "6379:6379"
volumes:
- ./data/redis:/data # 持久化 Redis 数据
command: redis-server --appendonly yes # 启用持久化 AOF