问题 dockerfile yum -y install vim的时候一直未响应 但是在本地虚拟机centos7上运行则没问题

 
但是我的防火墙是开启的 systemctl status firewalld

然后就卡住了 一直没找到问题所在 虚拟机的yum源也检查了是阿里的没问题 yum repolist enabled

然后突然想到是不是docker容器的问题 ,因为我的docker容器依赖的是centos,是不是在docker容器中无法连接网络导致的。
 
查看镜像列表 docker images

用镜像新启动一个容器(df/centos 是我自己命名的一个容器和centos一样)
docker run -it --name=docker-net-test df/centos
进入容器测试网络
1 ping www.baidu.com -- 说明容器内网络是通的

 
2 既然网络是通的 那么是不是yum命令无法使用 在容器内测试一下 yum -y -install vim

3 发现果然是没有速度 (以为终于找到了原因) -- Failed to set locale,defaulting to C.UTF-8
------ 一顿百度 是因为阿里云拉下来的镜像centos默认的语言格式没有en_US.UTF-8
locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
当前系统没有安装en_US.UTF-8语言 那么安装所有的字符集
dnf install langpacks-en glibc-all-langpacks -y
这时候安装也是没有速度 -- 终于想到了可能是因为容器内的yum源没有换成阿里云(真正的原因)
-----------------
所以问题的关键是yum源没有配置成国内的 而不是语言格式问题(当然字符集也是个问题,需要注意)
-----------------
--配置阿里源
查看当前centos版本 -- 8.0的版本 docker自动下载的centos镜像是8.0版本
cat /etc/redhat-release
 
1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2 下载
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
 
 
但是我们 yum makecache 的时候还是没有速度---Repository AppStream is listed more than once in the configuration

--我们ls /etc/yum.repos.d --发现有个AppStream.repo --把它删了
rm -rf CentOS-AppStream.repo
重新yum makecache 发现有速度了
这时候我们 yum -y install vim 也可以了
 
 
----所以重新设计dockerFile文件 当作练习了
 
之前的----  
FROM centos
ENV mypath /tmp
WORKDIR $mypath
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo 'to be not success running'
CMD echo 'success------ok'
CMD /bin/bash
 
-- 成功执行
FROM centos
ENV mypath /tmp
WORKDIR $mypath
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
RUN rm -rf /etc/yum.repos.d/CentOS-AppStream.repo
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo 'to be not success running'
CMD echo 'success------ok'
CMD /bin/bash
 

docker centos容器无法yum的更多相关文章

  1. centos 7使用yum安装docker容器

    使用yum命令即可安装 yum install docker 安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动: [root@localhost ~]# systemctl ...

  2. Docker 实战(二)——centos7镜像安装nginx,将安装nginx的centos容器生成新的镜像,并导出

    Docker centos7镜像安装nginx 1.安装docker 使用yum安装docker不再重复:见  Linux常用命令 2.pull centos 1)在docker仓库中搜索centos ...

  3. 在win10 docker启动的centos容器中安装nginx

    我是在win10机器上搭建了一个docker,在docker启动了centos容器,在centos中安装nginx. 安装配置docker 直接在官网下载docker for windows:http ...

  4. Docker实现CentOS容器SSH远程登录

    Docker实现CentOS容器SSH远程登录 https://blog.csdn.net/A632189007/article/details/78625378 这里根据Dockerfile方式构建 ...

  5. Docker CentOS / Ubuntu容器开启 SSH 服务

    Docker CentOS / Ubuntu容器开启 SSH 服务 在CentOS容器内执行 yum install passwd openssl openssh-server -y # Ubuntu ...

  6. Docker容器Centos容器安装openssh

    前面在部署容器,使用docker容器作为jenkins的Slave节点时,会发现在使用centos作为镜像源拉去容器,不能正常连接,最后是因为centos的sshd的问题 下面专门是centos容器安 ...

  7. Centos 7 docker 启动容器 iptables 报 No chain/target/match by that name

    我也遇到这个问题,原因时启动docker服务时没有启动iptables服务导致的(有些docker需要再iptables开放有些端口)解决方法1.启动iptables服务 CentOS 7 以下版本 ...

  8. Docker学习笔记_创建和使用Centos容器

    实验:创建和使用Centos容器 步骤: 1.搜索                                                     sudo docker search cen ...

  9. docker启动centos容器后如何用putty连接

    在前面的文章中,我提到过,win10 docker启动容器时,只有配置了宿主机和docker容器的端口映射,外部应用才能访问到容器中的服务,比如映射到Nginx的80端口.现在我将宿主机的某个端口映射 ...

随机推荐

  1. Django之富文本(获取内容,设置内容)

    富文本 1.Rich Text Format(RTF) 微软开发的跨平台文档格式,大多数的文字处理软件都能读取和保存RTF文档,其实就是可以添加样式的文档,和HTML有很多相似的地方 图示 2.tin ...

  2. .netcore跨域设置

    跨域 广义上讲,跨域是指一个域下的文档或者脚本试图去请求访问另一个域下的资源(像我们直接通过代码使用http请求资源,或者是使用辅助工具(例如postman)是可以直接访问的,没有跨域的概念):而我们 ...

  3. Simulink代码自动生成(一)

    前面介绍了MDB的设计思想并对比了它和传统的嵌入式软件开发之间的差异,现在开始使用Simulink工具演示模型的搭建和C代码的自动生成过程. Matlab版本:R2018B 一.算法模型的搭建 搭建一 ...

  4. 制作安装Linux操作系统的启动U盘方法其实就这么简单

    安装系统前,我们需要制作系统安装启动U盘(或者DVD,但已经很少使用DVD,所以不再介绍),通过启动U盘来帮助我们安装下载好的Linux系统. 接下来我们来介绍在Windows.Linux和MacOS ...

  5. 【SpringCloud】06.Eureka 总结

    1.两个注解: @EnableEurekaServer--在启动类上添加 @EnableDiscoveryClient或@EnableEurekaClient--启动类加 因为Eureka支持多种注册 ...

  6. 论文阅读:An End-to-End Network for Generating Social Relationship Graphs

    论文链接:https://arxiv.org/abs/1903.09784v1 Abstract 社交关系智能代理在人工智能领域中越来越引人关注.为此,我们需要一个可以在不同社会关系上下文中理解社交关 ...

  7. Spring Boot 创建 Docker 镜像

    随着越来越多的组织转向容器和虚拟服务器,Docker正成为软件开发工作流程中一个更重要的部分.为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Dock ...

  8. 重看 mb volatile atomic

    在单处理器情况下,每条指令的执行都是原子性的,但在多处理器情况下,只有那些单独的读操作或写操作才是原子性的.为了弥补这一缺点,x86提供了附加的lock前缀,使带lock前缀的读修改写指令也能原子性执 ...

  9. 再聊 Blazor,它是否值得你花时间学习

    之前写了一篇文章<快速了解 ASP.NET Core Blazor>,大家关心最多的问题是,我该不该花时间去学习 Blazor.今天聊聊这个话题,并表达一下我个人的看法. 在此之前,我还是 ...

  10. Go原生和GoFrame的Cookie关于MaxAge区别

    Go原生和GoFrame的Cookie关于MaxAge区别 环境: gf v1.14.4 go 1.11 Go原生 type Cookie struct { Name string Value str ...