docker将镜像推送到阿里云镜像仓库与私有镜像仓库

docker

docker将镜像推送到阿里云容器镜像仓库

进入阿里云容器镜像服务

首先需要创建个人版实例

远程连接登录实例

进入个人版实例,创建命名空间

创建镜像仓库

给本地镜像打阿里云仓库标签

bash 复制代码
docker tag [ImageId] crpi-9lqys9g2oakr3f6l.cn-beijing.personal.cr.aliyuncs.com/jiayingchen/test:[镜像版本号]

告诉 Docker 这个镜像要送到哪个阿里云仓库地址、哪个命名空间和镜像仓库、以及镜像版本号。

推送镜像到阿里云仓库

bash 复制代码
docker push crpi-9lqys9g2oakr3f6l.cn-beijing.personal.cr.aliyuncs.com/jiayingchen/test:[镜像版本号]

进入该镜像仓库,查看该镜像仓库内镜像版本

docker将镜像推送到私有镜像仓库

首先需要配置 Docker 私有仓库:

创建一个用于存储仓库数据的目录,例如 /usr/local/src/docker/docker-registry。

创建一个名为 docker-compose.yml 的文件,并在其中定义 Docker 私有仓库的配置,示例配置如下:

bash 复制代码
version: '3.8'
services:
  registry:
    image: registry:2
    container_name: docker-registry
    restart: always
    ports:
      - "5000:5000"
    volumes:
      - ./registry-data:/var/lib/registry
    environment:
      - TZ=Asia/Shanghai

在 docker-compose.yml 所在目录执行:

bash 复制代码
# 后台启动
docker compose up -d
# 查看容器状态
docker compose ps

验证仓库是否启动成功

bash 复制代码
curl http://localhost:5000/v2/_catalog

访问仓库API,返回空列表说明正常

下面需要配置 Docker 允许访问非 HTTPS 私有仓库:

Docker 默认会拒绝和没有 HTTPS 加密证书的私有仓库通信,所以需要在 Docker 的配置文件里添加 insecure-registries 字段,把私有仓库地址加入信任白名单。

重启 Docker 使配置生效

bash 复制代码
sudo systemctl daemon-reload
bash 复制代码
sudo systemctl restart docker

为镜像打标签:

需要注意的是 Docker 推送镜像的核心要求是镜像标签包含私有仓库的地址和端口,格式为:私有仓库地址:端口/镜像名:版本号

执行命令:docker tag 原镜像名:版本 私有仓库地址:端口/新镜像名:版本

bash 复制代码
docker tag mysql:latest localhost:5000/mysql:v1

登录私有镜像仓库

bash 复制代码
docker login localhost:5000

推送镜像到私有仓库

bash 复制代码
docker push localhost:5000/myapp:v1

通过仓库 API 查看镜像列表

bash 复制代码
curl http://localhost:5000/v2/_catalog

镜像已成功上传

相关推荐
Patrick_Wilson4 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy4 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭4 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩5 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵6 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1116 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽7 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康9 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Inhand陈工12 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker