亿信开发者
我们一直在努力

Docker 安装 Centos

ptgidc

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 /]#
赞(0)
未经允许不得转载:亿信开发者 » Docker 安装 Centos