linux7启动docker,apache – 在docker CentOS 7容器内启动服务

最好的方法是在你安装httpd的地方制作你自己的centos7图像

FROM centos:7

RUN yum -y install httpd; yum clean all; systemctl enable httpd.service

EXPOSE 80

使用docker build -t my-centos构建您的映像:7.

没有SYS_ADMIN,Systemd无法运行.这就是我设置以下变量的原因.

$docker run -it -p 80:80 -e "container=docker" --privileged=true -d --security-opt seccomp:unconfined --cap-add=SYS_ADMIN -v /sys/fs/cgroup:/sys/fs/cgroup:ro my-centos:7 bash -c "/usr/sbin/init"

验证容器正在运行:

$docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

967581bdf31a my-centos:7 "bash -c /usr/sbin/in" 1 seconds ago Up 1 seconds 0.0.0.0:80->80/tcp gigantic_stallman

Verifiy httpd已启动

$docker exec -it gigantic_stallman /bin/bash -c "systemctl status httpd"

● httpd.service - The Apache HTTP Server

Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)

Active: active (running) since Wed 2016-12-28 11:44:04 UTC; 2min 20s ago

Docs: man:httpd(8)

man:apachectl(8)

Main PID: 61 (httpd)

Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"

CGroup: /docker/967581bdf31a3b741a5e857720e199614d816b05a2132271f3adf910f0ed3207/system.slice/httpd.service

├─61 /usr/sbin/httpd -DFOREGROUND

├─66 /usr/sbin/httpd -DFOREGROUND

├─67 /usr/sbin/httpd -DFOREGROUND

├─68 /usr/sbin/httpd -DFOREGROUND

├─69 /usr/sbin/httpd -DFOREGROUND

└─70 /usr/sbin/httpd -DFOREGROUND

Dec 28 11:44:04 967581bdf31a systemd[1]: Starting The Apache HTTP Server...

Dec 28 11:44:04 967581bdf31a httpd[61]: AH00558: httpd: Could not reliably d...e

Dec 28 11:44:04 967581bdf31a systemd[1]: Started The Apache HTTP Server.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值