Docker容器中的yum网络源配置(亲测有效)

SC_CSDN_L 2024-09-30 12:37:00 阅读 76

目录

1、dockerfile方式配置

2、容器中配置


1、dockerfile方式配置

以dockerfile形式创建镜像配置好镜像yum源,然后通过镜像构建容器 

<code>vim Dockerfile

FROM centos

RUN cd /etc/yum.repos.d/

RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

RUN yum makecache

RUN yum update -y

这个Dockerfile的含义是:

1. `FROM centos`: 基于CentOS镜像开始构建新的镜像。

2. `RUN cd /etc/yum.repos.d/`: 在新镜像中运行命令,切换到 `/etc/yum.repos.d/` 目录。

3. `RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*`: 使用sed命令在 `/etc/yum.repos.d/CentOS-*` 文件中,将所有包含 `mirrorlist` 的行替换为 `#mirrorlist`。注释掉原有的镜像源地址。

4. `RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*`: 使用sed命令在 `/etc/yum.repos.d/CentOS-*` 文件中,将 `#baseurl=http://mirror.centos.org` 替换为 `baseurl=http://vault.centos.org`。将镜像源地址改为CentOS Vault站点,用于访问旧版本软件包的站点。

5. `RUN yum makecache`: 更新YUM缓存,以便系统可以访问最新的软件包信息。

6. `RUN yum update -y`: 执行完整的系统更新,安装所有可用更新的软件包。

这个Dockerfile的目的是基于CentOS基础镜像,配置新的软件源(使用CentOS Vault站点)并进行系统更新,以确保最新的安全性和功能性修复。

构建好Dockerfile后就可以通过运行容器镜像,在该容器中yum命令安装软件了

#构建镜像

docker build -t centos/yum-dockerfile .

#查看镜像

docker images

#运行镜像,并进入容器

docker run -it centos/yum-dockerfile /bin/bash

2、容器中配置

我们已有的容器怎么配置呢?

直接运行容器,在容器里面配置yum源

#运行名为centos的容器

docker run -it centos --network bridge centos /bin/bash

#容器中输入命令,注释掉原有的镜像源地址

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

#将镜像源地址改为CentOS Vault站点,用于访问旧版本软件包的站点

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

yum makecache

yum update -y

这样子 就可以在容器中直接配置网络yum源,再也没有软件安装无所需软件包的烦恼啦!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。