zoukankan      html  css  js  c++  java
  • docker centos容器无法yum

     
    问题 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
     
  • 相关阅读:
    OSCP Learning Notes Buffer Overflows(3)
    OSCP Learning Notes Buffer Overflows(5)
    OSCP Learning Notes Exploit(3)
    OSCP Learning Notes Exploit(4)
    OSCP Learning Notes Exploit(1)
    OSCP Learning Notes Netcat
    OSCP Learning Notes Buffer Overflows(4)
    OSCP Learning Notes Buffer Overflows(1)
    OSCP Learning Notes Exploit(2)
    C++格式化输出 Learner
  • 原文地址:https://www.cnblogs.com/studyitskill/p/14081899.html
Copyright © 2011-2022 走看看