SuperManito / LinuxMirrors

GNU/Linux 更换系统软件源脚本
https://linuxmirrors.cn
MIT License
2.44k stars 330 forks source link

ubuntu:22.04 dockerfile 的RUN 内部无法成功运行.. #44

Closed gowy222 closed 4 months ago

gowy222 commented 4 months ago

操作系统

Ubuntu

处理器架构

x86_64 / x86_32

系统详细信息

FROM ubuntu:22.04 AS builder

环境信息

docker

描述您的问题

FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y curl
RUN echo "第一阶段...切换源..........................................." && \
    curl -sSL https://linuxmirrors.cn/main.sh -o main.sh && \
    bash main.sh \
        --source mirrors.cloud.tencent.com \
        --protocol http \
        --intranet false \
        --install-epel true \
        --close-firewall true \
        --backup true \
        --upgrade-software false \
        --clean-cache false \
        --ignore-backup-tips

dockefile 构建 经常需要切换源,不然构建速度龟爬, 然而,不同发行版本,基础镜像切换源方式不同,实在累,就想有没有一键在dockerfile内部自动切换源的。而且很多基础镜像都是默认走sh, 不是bash.

所以,看看,能不能针对dockerfile 内部免交互切换源支持下。 另外,如果在dockerfile内部curl可能不是最优选择,因为 RUN apt-get update && apt-get install -y curl 这行就需要龟爬去外网安装curl..如果可以,wget更加合适,基础镜像一般都自带wget.

详细的执行日志

当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!

SuperManito commented 4 months ago

操作系统

Ubuntu

处理器架构

x86_64 / x86_32

系统详细信息

FROM ubuntu:22.04 AS builder

环境信息

docker

描述您的问题

FROM ubuntu:22.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y curl
RUN echo "第一阶段...切换源..........................................." && \
    curl -sSL https://linuxmirrors.cn/main.sh -o main.sh && \
    bash main.sh \
        --source mirrors.cloud.tencent.com \
        --protocol http \
        --intranet false \
        --install-epel true \
        --close-firewall true \
        --backup true \
        --upgrade-software false \
        --clean-cache false \
        --ignore-backup-tips

dockefile 构建 经常需要切换源,不然构建速度龟爬, 然而,不同发行版本,基础镜像切换源方式不同,实在累,就想有没有一键在dockerfile内部自动切换源的。而且很多基础镜像都是默认走sh, 不是bash.

所以,看看,能不能针对dockerfile 内部免交互切换源支持下。 另外,如果在dockerfile内部curl可能不是最优选择,因为 RUN apt-get update && apt-get install -y curl 这行就需要龟爬去外网安装curl..如果可以,wget更加合适,基础镜像一般都自带wget.

详细的执行日志

当前系统不支持安装 EPEL 附件软件包故无法使用相关命令选项,请确认后重试!

不都告诉你错误原因了么。。你为什么不把那个命令选项去掉呢?

EPEL 是红帽系的产物,Debian 系当然没有