Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法启动带有apache php的Docker示例_Docker - Fatal编程技术网

无法启动带有apache php的Docker示例

无法启动带有apache php的Docker示例,docker,Docker,我正在跟踪一个关于Docker的消息。我在Windows上运行,所以我已经安装了Docker for Windows并注册了中心 目前,我正在Docker上创建我的第一个Apache实例 在本教程之后,我创建了debian衍生工具的第一个Dockerfile并运行了容器。我的输出与教程一致(表示Windows提示符) 然后我学习了从容器运行Apache的教程 Dockerfile FROM debian RUN apt-get update &&\ apt-get -y

我正在跟踪一个关于Docker的消息。我在Windows上运行,所以我已经安装了Docker for Windows并注册了中心

目前,我正在Docker上创建我的第一个Apache实例

在本教程之后,我创建了
debian
衍生工具的第一个Dockerfile并运行了容器。我的输出与教程一致(
表示Windows提示符)

然后我学习了从容器运行Apache的教程

Dockerfile

FROM debian
RUN apt-get update &&\
    apt-get -y install procps libapache2-mod-php
CMD service apache2 start
酷,是吗?但是当我运行容器时,什么也没有发生,容器本身也成功退出

D:\IdeaDevOps\dockers\apache2>docker run -it --name apache2  -v d:\IdeaDevOps\dockers\apache2:/var/www/html  debian_apache2
[....] Starting Apache httpd web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
. ok


>docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
09d5b4b3fa49        debian_apache2      "/bin/sh -c 'service…"   24 seconds ago      Exited (0) 22 seconds ago                       apache2
8d1c4522aa30        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                          elated_wing
ae769d388b36        ubuntu              "bash"                   2 hours ago         Exited (0) 2 hours ago                          kind_murdock
5596841696f6        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                          festive_booth
我真的不明白为什么它不能保持Apache服务器的运行<代码>AH00558是一个警告,它从不阻止Apache启动。 我的笔记本电脑上有一个正在运行的Apache2.4实例正在监听80,因此我停止了与之相关的Windows服务

我还尝试更改Docker中的端口绑定,或者不将任何端口绑定(
-p
)传递给Docker以查看发生了什么

如您所见,我不是故意运行容器
-d
(与链接教程不同)来查看其输出

是什么阻止了基于Apache的容器启动?我对运行真正的Apache/php并不感兴趣,但我只想了解Docker以及如何根据您的需要定制映像。TL;博士:我正在学习,现在没有真正的业务需要

使现代化 我试着用雷神之锤的方法。如果我坚持执行docker start apache2,我可以让Apache服务器只运行几秒钟,正好是浏览浏览器根目录的时候。服务器最终结束

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker exec apache2 bash

D:\IdeaDevOps\dockers\apache2>docker exec apache2 bash

D:\IdeaDevOps\dockers\apache2>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
c669aacbed7a        debian_apache2      "/bin/sh -c 'service…"   20 minutes ago      Up 17 seconds       0.0.0.0:80->80/tcp   apache2

D:\IdeaDevOps\dockers\apache2>docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
c669aacbed7a        debian_apache2      "/bin/sh -c 'service…"   20 minutes ago      Exited (1) 1 second ago                       apache2
8d1c4522aa30        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                        elated_wing
ae769d388b36        ubuntu              "bash"                   2 hours ago         Exited (0) 2 hours ago                        kind_murdock
5596841696f6        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                        festive_booth

D:\IdeaDevOps\dockers\apache2>docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
c669aacbed7a        debian_apache2      "/bin/sh -c 'service…"   21 minutes ago      Exited (1) 23 seconds ago                       apache2
8d1c4522aa30        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                          elated_wing
ae769d388b36        ubuntu              "bash"                   2 hours ago         Exited (0) 2 hours ago                          kind_murdock
5596841696f6        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                          festive_booth

docker容器需要暂停进程以保持状态

当您运行“ServiceApache2Start”时,服务启动,即容器停止


因此,您应该使用一个持续运行的命令,例如:
apachectl-D FOREGROUND

是否意味着教程已中断?本教程将指导您使用
服务启动
,但这是VMs中会用到的。容器不是虚拟机。更多信息请点击此处:。检查@usr local-ΕψΕ∧ΝΝ提供的答案可能是的。投票以重复形式结束,然后提供答案有什么意义?@leopal如你所说:这是一次投票。也许它不是重复的,在这种情况下,我有一个答案…我的回答是为了帮助提问者快速确定解决方案,然后我会投票支持以dup结束,但你们是为我做的。无论如何,我相信它确实是一个复制品。
D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker start apache2
apache2

D:\IdeaDevOps\dockers\apache2>docker exec apache2 bash

D:\IdeaDevOps\dockers\apache2>docker exec apache2 bash

D:\IdeaDevOps\dockers\apache2>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
c669aacbed7a        debian_apache2      "/bin/sh -c 'service…"   20 minutes ago      Up 17 seconds       0.0.0.0:80->80/tcp   apache2

D:\IdeaDevOps\dockers\apache2>docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                    PORTS               NAMES
c669aacbed7a        debian_apache2      "/bin/sh -c 'service…"   20 minutes ago      Exited (1) 1 second ago                       apache2
8d1c4522aa30        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                        elated_wing
ae769d388b36        ubuntu              "bash"                   2 hours ago         Exited (0) 2 hours ago                        kind_murdock
5596841696f6        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                        festive_booth

D:\IdeaDevOps\dockers\apache2>docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
c669aacbed7a        debian_apache2      "/bin/sh -c 'service…"   21 minutes ago      Exited (1) 23 seconds ago                       apache2
8d1c4522aa30        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                          elated_wing
ae769d388b36        ubuntu              "bash"                   2 hours ago         Exited (0) 2 hours ago                          kind_murdock
5596841696f6        mydebian            "bash"                   2 hours ago         Exited (0) 2 hours ago                          festive_booth