阿里云ACR镜像上传与使用

问题背景:目标是用阿里云的流水线,自己在codeup拉取代码,用maven打包成jar,并利用Dockerfile文件,将jar和jre打包成一个镜像,部署到ECS上。当前问题是在docker拉取jre的公共镜像时无法拉取,报错:

ERROR: failed to solve: DeadlineExceeded: DeadlineExceeded: DeadlineExceeded: eclipse-temurin:17-jre-alpine: failed to resolve source metadata for docker.io/library/eclipse-temurin:17-jre-alpine: failed to do request: Head "https://registry-1.docker.io/v2/library/eclipse-temurin/manifests/17-jre-alpine": dial tcp 104.244.43.234:443: i/o timeout

解决方案:先将jre的镜像包拉取到本地,再从本地上传到ACR,这样流水线构建的时候可以直接从ACR拉取到镜像,并且能享受到阿里云的镜像加速服务。

步骤 1:下载镜像到本地 / 构建机

优先用docker.1ms.run源拉取(避免 docker.io 的网络问题):

bash 复制代码
# 拉取镜像(指定docker.1ms.run源)
docker pull docker.1ms.run/library/eclipse-temurin:17-jre-alpine

# 验证镜像是否下载成功
docker images
# 输出类似:docker.1ms.run/library/eclipse-temurin   17-jre-alpine   xxxxxxxx   2 weeks ago   48MB

步骤 2:登录你的阿里云 ACR 实例

ACR控制台:容器镜像服务-->实例列表-->个人版实例-->镜像仓库-->点击已创建的仓库名称

根据基本信息中的操作指南,登录

bash 复制代码
# 登录ACR(按提示输入阿里云账号密码,或用ACR控制台的临时登录令牌)
docker login crpi-****.cn-beijing.personal.cr.aliyuncs.com

步骤 3:给镜像打 ACR 仓库的标签(关键,符合 ACR 地址规范)

bash 复制代码
# 打标签(替换为你的ACR信息)
docker tag docker.1ms.run/library/eclipse-temurin:17-jre-alpine \
  crpi-*****.cn-beijing.personal.cr.aliyuncs.com/***/eclipse-temurin:17-jre-alpine

步骤 4:推送镜像到 ACR 的 指定仓库

bash 复制代码
# 推送打标后的镜像到ACR
docker push crpi-****.cn-beijing.personal.cr.aliyuncs.com/***/仓库名:base-eclipse-temurin-17-jre-alpine

步骤 5:修改流水线的 Dockerfile(拉取 ACR 中的镜像)

bash 复制代码
# 替换原FROM eclipse-temurin:17-jre-alpine
FROM crpi-*****.cn-beijing.personal.cr.aliyuncs.com/****/仓库名:base-eclipse-temurin-17-jre-alpine

# 后续的构建命令保持不变
WORKDIR /app
RUN apk add --no-cache shadow-utils \
    && groupadd -r appuser \
    && useradd -r -g appuser appuser \
    && apk del shadow-utils \
    && rm -rf /var/cache/apk/*
# ... 其他步骤(如复制JAR包、启动命令等)
相关推荐
广州服务器托管4 小时前
[2025.12.25] Win10.LTSC2021极速响应养老版19045.3208轻精简全功能【可更新】PIIS出品 老电脑福利 老旧电脑流畅运行
运维·人工智能·计算机网络·云计算·电脑·可信计算技术
峰顶听歌的鲸鱼4 小时前
20.MySql数据库
运维·数据库·笔记·mysql·云计算·学习方法
翼龙云_cloud4 小时前
亚马逊云渠道商:用 AWS Lightsail 30 分钟搭建专业作品集网站
运维·服务器·云计算·aws
Lynnxiaowen4 小时前
今天我们开始学习腾讯云产品介绍及功能概述与应用场景
学习·云计算·腾讯云
互联网老欣5 小时前
为什么选择阿里云 ECS+LNMP?
阿里云·云计算
同聘云5 小时前
阿里云国际站云服务器是虚拟技术吗?云服务器和虚拟技术的关系是什么?
服务器·安全·阿里云·云计算
熙客5 小时前
阿里云流水线Docker方式部署操作实战(ACR+流水线)
阿里云·docker·云计算