赞
踩
目录
以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
我们已有的容器怎么配置呢?
直接运行容器,在容器里面配置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源,再也没有软件安装无所需软件包的烦恼啦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。