首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在docker CentOS 7容器内启动服务

在docker CentOS 7容器内启动服务
EN

Stack Overflow用户
提问于 2016-12-25 12:13:52
回答 1查看 10.9K关注 0票数 5

我想在CentOS 7容器上启动httpd服务。但是systemctl命令在容器中不起作用。在CentOS 6中,我只需使用/etc/init.d/apachectl -d命令即可启动httpd。但在CentOS 7中,我在/*/systemd/中找不到任何apachectl文件。

那么如何在CentOS 7容器中启动httpd服务呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-28 19:47:14

最好的方法是在安装httpd的位置制作自己的centos7镜像

代码语言:javascript
复制
FROM centos:7
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80

在没有SYS_ADMIN的情况下,无法使用docker build -t my-centos:7 .系统构建您的映像。这就是我设置以下变量的原因。

代码语言:javascript
复制
$ 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"

验证容器是否正在运行:

代码语言:javascript
复制
$ 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

验证httpd是否已启动

代码语言:javascript
复制
$ 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.
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41318625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档