目录
1、dockerfile方式配置
以dockerfile形式创建镜像配置好镜像yum源,然后通过镜像构建容器
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源,再也没有软件安装无所需软件包的烦恼啦!