zoukankan      html  css  js  c++  java
  • Docker安装Centos

    1.Centos是基于Redhat的linux的发行版,centos是企业级服务器的常用选型。

    2.搜索centos
    $ docker search centos -s 10

    备注:STARS数最多,OFFICIAL是"[OK]"的这个就是官方的centos镜像。

    3.下载centos
    $ docker pull centos

    4.运行centos镜像,进入容器查看centos版本
    $ docker run -idt centos
    $ docker ps ##找到centos容器ID:49eb1967f943
    $ docker inspect -f {{.State.Pid}} 49eb1967f943 ##容器进程PID:15151
    $ nsenter --target 15151 --mount --uts --ipc --net --pid ##进入容器

    5、安装httpd服务
    [root@de2579d20ae5 /]# yum install httpd ##安装成功,启动httpd服务
    [root@de2579d20ae5 /]# systemctl start httpd ##docker容器中启动service服务报如下异常
    Failed to get D-Bus connection: Operation not permitted

    解决方案:
    a、在创建docker容器时添加--privileged
    b、通过Dockerfile生成镜像文件的时候,通过CMD来执行/usr/sbin/init这条命令,即:CMD [ "/usr/sbin/init"];

    $ docker stop de2579d20ae5 ##停止容器,新建容器
    $ docker run -idt --privileged centos /usr/sbin/init 或者
    $ docker run -idt --privileged centos init
    [root@b02d2bbb3539 /]# cat /etc/redhat-release 
    //CentOS Linux release 7.4.1708 (Core)
    
    卸载httpd软件
    [root@b02d2bbb3539 /]# yum -y remove httpd
    [root@b02d2bbb3539 /]# yum -y remove httpd*
    [root@b02d2bbb3539 /]# yum install httpd
    [root@b02d2bbb3539 /]# systemctl start httpd
    [root@b02d2bbb3539 /]#

    自此问题解决。

  • 相关阅读:
    大二下第十三周学习笔记
    对C++多态的一次小分析
    vs2015中用汇编(转)
    挖个坑
    ListCtrl
    获得进程完整路径的第二种方法
    The Meeting Place Cannot Be Changed(二分+eps精度)
    CodeForces 494A
    Anya and Ghosts CodeForces
    寒假给自己立个flag
  • 原文地址:https://www.cnblogs.com/linjiqin/p/8760644.html
Copyright © 2011-2022 走看看