文章目录
- 一、腾讯云小站Docker镜像下载功能概述
- 二、阿里云镜像功能替代
-
- 1、阿里云镜像下载与导入
- 2、功能实现解析
-
- 1.) 镜像打包过程 镜像打包过程)
- 2.) 镜像打包脚本 镜像打包脚本)
- 3.) 运行脚本 运行脚本)
一、腾讯云小站Docker镜像下载功能概述
如何下载Distroless Java镜像(续) 此文介绍的Docker镜像下载功能已经下线。
有兴趣的同学可以 ☞☞下载项目代码自己研究。
不要问为什么? 个人小站同大部分公司一样也要考虑™开元截留,降本增笑↝ , 砍掉使用频率不高或不必要的功能!
二、阿里云镜像功能替代
1、阿里云镜像下载与导入
作为功能替代,需要下载上文所介绍镜像的同学,可直接运行脚本
bash
#!/bin/bash
#运行镜像
docker run --rm -it -d --name images-all registry.cn-shanghai.aliyuncs.com/00fly/images-all
#拷贝镜像包
docker cp images-all:/imgs /work/
docker logs -f images-all
手工导入镜像
bash
cd /work/imgs
docker load < imgs-all.tar.gz
docker load < busybox.tar.gz
2、功能实现解析
1.) 镜像打包过程
Dockerfile
bash
#基础镜像
FROM busybox:latest
#拷贝当前目录下的tar.gz到镜像/imgs目录
COPY *.tar.gz /imgs/
#倒计时20秒后结束,保证容器镜像文件拷贝完成
RUN cat > /wait.sh <<'EOF'
#!/bin/sh
export TZ=UTC-8
i=20
echo "${i}秒后程序结束!";
while [ $i -ge 1 ]; do
echo "$(date)| 倒计时:$i 秒"
sleep 1
i=$((i - 1))
done
EOF
RUN chmod +x /wait.sh
CMD ["/wait.sh"]
2.) 镜像打包脚本
bash
#!/bin/bash
docker build -t registry.cn-shanghai.aliyuncs.com/00fly/images-all .
3.) 运行脚本
bash
#!/bin/bash
#运行镜像
docker run --rm -it -d --name images-all registry.cn-shanghai.aliyuncs.com/00fly/images-all
#拷贝镜像包
docker cp images-all:/imgs /work/
docker logs -f images-all
运行效果
bash
[root@aliyun-test docker-imgs]# sh copy-tar.sh
images-all
de085bfbda82b414363a1bdf3826af9d40ced57807fab32e8789df31a35f3250
Successfully copied 629MB to /work/
20秒后程序结束!
Tue Aug 11 12:30:10 UTF 2026| 倒计时:20 秒
Tue Aug 11 12:30:11 UTF 2026| 倒计时:19 秒
Tue Aug 11 12:30:12 UTF 2026| 倒计时:18 秒
Tue Aug 11 12:30:13 UTF 2026| 倒计时:17 秒
Tue Aug 11 12:30:14 UTF 2026| 倒计时:16 秒
Tue Aug 11 12:30:15 UTF 2026| 倒计时:15 秒
Tue Aug 11 12:30:16 UTF 2026| 倒计时:14 秒
Tue Aug 11 12:30:17 UTF 2026| 倒计时:13 秒
Tue Aug 11 12:30:18 UTF 2026| 倒计时:12 秒
Tue Aug 11 12:30:19 UTF 2026| 倒计时:11 秒
Tue Aug 11 12:30:20 UTF 2026| 倒计时:10 秒
Tue Aug 11 12:30:21 UTF 2026| 倒计时:9 秒
Tue Aug 11 12:30:22 UTF 2026| 倒计时:8 秒
Tue Aug 11 12:30:23 UTF 2026| 倒计时:7 秒
Tue Aug 11 12:30:24 UTF 2026| 倒计时:6 秒
Tue Aug 11 12:30:25 UTF 2026| 倒计时:5 秒
Tue Aug 11 12:30:26 UTF 2026| 倒计时:4 秒
Tue Aug 11 12:30:27 UTF 2026| 倒计时:3 秒
Tue Aug 11 12:30:28 UTF 2026| 倒计时:2 秒
Tue Aug 11 12:30:29 UTF 2026| 倒计时:1 秒
镜像导入
bash
[root@aliyun-test imgs]# docker load < imgs-all.tar.gz
Loaded image: nginx:1.31-alpine-slim
Loaded image: openjdk:8-jre-alpine
Loaded image: adoptopenjdk/openjdk8-openj9:alpine-slim
Loaded image: eclipse-temurin:8-jre-alpine
Loaded image: gcr.io/distroless/java11-debian11:debug
Loaded image: gcr.io/distroless/java11-debian11:latest
Loaded image: linkease/kspeeder:latest
The image maven:3.9-eclipse-temurin-8 already exists, renaming the old one with ID sha256:dd9965ef83474642e8a32209899416921d45cc51c6aa603f15269e0e78f71c30 to empty string
Loaded image: maven:3.9-eclipse-temurin-8
有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!
-over-