【docker】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库

1、简述

在上一篇博客中(【docker】docker compose使用),下载docker时,经常因为网络问题,导致下载失败。

本篇博客,尝试使用 阿里云的容器镜像服务(ACR)是否可以加速下载;

然后尝试在 阿里云的容器镜像服务(ACR)上构建自己的容器仓库

2、镜像下载加速

参见阿里云的公告:

为进一步规范镜像加速器工具的使用,容器镜像服务ACR将于2024年07月02日起对镜像加速器功能进行相应的调整。

变更内容

调整镜像加速器功能的使用范围:

  • 仅限阿里云用户,在支持公网访问的阿里云产品上使用该镜像加速能力。
  • 仅支持通过镜像加速器拉取限定范围内的容器镜像。
  • 即仅阿里云内部可以正常使用;外部服务器无法访问。

3、构建自己的容器

3.1 注册

在 阿里云 上注册和登录账号

复制代码
https://www.aliyun.com/

搜索 容器镜像服务 或则 英文缩写 ACR

创建个人版示例,可以免费创建一个

此时,镜像还是空的,需要在本地下载一个镜像,再上传,可以使用阿里云自带的;

3.2 下载基础镜像

先在本地下载一个基础镜像,比如ubuntu22.04+ros2的镜像

复制代码
docker pull ros:humble-ros-base

注意这一步没有加速,有可能超时下载失败,可以多尝试几次;

下载成功后,上传至阿里云上的私有仓库中,以后可以从私有仓库下载,达到加速的目的。

如果下载失败,可以指定国内源

复制代码
docker pull docker.1ms.run/osrf/ros:humble--ros-base

或者

复制代码
docker pull docker.xuanyuan.me/osrf/ros:humble--ros-base

或者

复制代码
docker pull docker.xuanyuan.me/osrf/ros:humble--ros-base

3.3 上传到个人仓库中

1)登录

复制代码
docker login --username=您的用户名 key

可以在管理界面中查看,您完整的命令

2)推送镜像

注意:本人是在NVIDIA Orin系列开发上操作的,因此镜像为arm64版本

复制代码
docker tag osrf/ros xxxxaliyuncs.com/guolaoer/ubuntu22.04:ros-humble-arm64
docker push xxxxaliyuncs.com/guolaoer/ubuntu22.04:ros-humble-arm64

推送后,可以在阿里云上查看

3)拉取镜像

当需要镜像时,可以从阿里云上私有的容器仓库上,直接拉取

复制代码
docker pull xxxxaliyuncs.com/guolaoer/ubuntu22.04:ros-humble-arm64
相关推荐
Wang's Blog4 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代5 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
灯澜忆梦6 小时前
【docker】#2 | 基础命令
docker·容器·eureka
程序员老赵8 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd9 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
Pocker_Spades_A11 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记20 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker