查看: 49|回覆: 0

docker centos容器无法yum

[複製鏈接]

4

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-11-25
發表於 2020-12-3 18:24:00 | 顯示全部樓層 |閲讀模式
 
问题 dockerfile yum -y install vim的时候一直未响应 但是在本地虚拟机centos7上运行则没问题
 
https://blog.csdn.net/jimiao_xxxx/article/details/107872246 -- 该网址说打开防火墙
但是我的防火墙是开启的 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源没有配置成国内的 而不是语言格式问题(当然字符集也是个问题,需要注意)
-----------------
--配置阿里源
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11zoBc40
查看当前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
 


来源:https://www.cnblogs.com/studyitskill/p/14081899.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部