如何创建docker阿里云私有镜像仓库

389 阅读2分钟

国内服务器不能访问外网,现在国内也很难找到稳定的公用的docker镜像,现在唯一稳定的办法就是创建自己的私有docker镜像仓库,此教程默认服务器和本机已经搭建好docker环境,主要是用来解决国内服务器无法访问docker官方镜像(自己电脑是可以访问才可以)

一.创建实例

1.进入阿里云容器镜像服务

cr.console.aliyun.com/cn-beijing/…

2.创建个人版实例(企业用户创建企业版)

个人版是免费的,但是限额,个性项目完全够用

image.png

选一个离服务器近的地区,立即创建即可

登陆

我们点击访问凭证,设置好固定密码

image.png 在终端输入此指令,然后输入密码,返回Login Succeeded代表登陆成功

image.png

二.拉取,上传镜像

1.拉取官方镜像(自己电脑可以访问外网)

docker pull --platform linux/amd64 redis:latest

默认情况下,Docker 可能会根据你的操作系统架构拉取镜像,所以我为了确保拉取的是 Linux x86_64(amd64) 版本(我服务器是linux amd64的,我们要拉取对应自己服务器操作系统服务器架构的)使用以下命令:

--platform linux/amd64 :指定服务器架构版本

拉取成功!

image.png

没下载Docker DeskTop同学可以

docker inspect redis:latest | grep Architecture

image.png

2.给镜像打标签(tag)

阿里云要求上传的镜像带有其 Registry 前缀,否则无法推送:

docker tag redis:latest [你的阿里云公网地址]/[镜像名]:latest

3.上传官方镜像到阿里云

docker push [你的阿里云公网地址]/[镜像名]:latest

4.上传成功

image.png

三.如何使用?

服务器也必须登陆,不然无法拉取!!!

登陆之后,我们只要把服务器的docker-compose.yml文件的image,改为阿里云的公网地址即可

image.png

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