当前位置: 首页 > 知识库问答 >
问题:

如果容器无法启动,如何检查容器中的文件内容?

倪阳飇
2023-03-14

我正在尝试构建一个php国际象棋应用程序,并将其包装在Docker容器中。起初,我使用了旧的docker配置,但它不起作用,所以我在上面添加了一些内容(比如将config apache文件复制到容器中等等)。重点是-I copyapache2/ports。conf放入只包含一行代码的容器中。但是在运行容器之后,它显示第5行有错误。当我在运行之前查看文件的内容时,它显示它只包含1行,所以我感到困惑。在回购(下面的链接)中,我有这个文件。

-> % docker start -a chess_php_1
[Tue Sep 13 18:25:20.097378 2022] [so:warn] [pid 1] AH01574: module access_compat_module is already loaded, skipping
[Tue Sep 13 18:25:20.097542 2022] [so:warn] [pid 1] AH01574: module alias_module is already loaded, skipping
[Tue Sep 13 18:25:20.097582 2022] [so:warn] [pid 1] AH01574: module auth_basic_module is already loaded, skipping
[Tue Sep 13 18:25:20.097626 2022] [so:warn] [pid 1] AH01574: module authn_core_module is already loaded, skipping
[Tue Sep 13 18:25:20.097672 2022] [so:warn] [pid 1] AH01574: module authn_file_module is already loaded, skipping
[Tue Sep 13 18:25:20.097716 2022] [so:warn] [pid 1] AH01574: module authz_core_module is already loaded, skipping
[Tue Sep 13 18:25:20.097757 2022] [so:warn] [pid 1] AH01574: module authz_host_module is already loaded, skipping
[Tue Sep 13 18:25:20.097805 2022] [so:warn] [pid 1] AH01574: module authz_user_module is already loaded, skipping
[Tue Sep 13 18:25:20.097859 2022] [so:warn] [pid 1] AH01574: module autoindex_module is already loaded, skipping
[Tue Sep 13 18:25:20.097909 2022] [so:warn] [pid 1] AH01574: module deflate_module is already loaded, skipping
[Tue Sep 13 18:25:20.097960 2022] [so:warn] [pid 1] AH01574: module dir_module is already loaded, skipping
[Tue Sep 13 18:25:20.098011 2022] [so:warn] [pid 1] AH01574: module env_module is already loaded, skipping
[Tue Sep 13 18:25:20.098056 2022] [so:warn] [pid 1] AH01574: module filter_module is already loaded, skipping
[Tue Sep 13 18:25:20.098106 2022] [so:warn] [pid 1] AH01574: module mime_module is already loaded, skipping
[Tue Sep 13 18:25:20.098151 2022] [so:warn] [pid 1] AH01574: module mpm_prefork_module is already loaded, skipping
[Tue Sep 13 18:25:20.098195 2022] [so:warn] [pid 1] AH01574: module negotiation_module is already loaded, skipping
[Tue Sep 13 18:25:20.098241 2022] [so:warn] [pid 1] AH01574: module php7_module is already loaded, skipping
[Tue Sep 13 18:25:20.098286 2022] [so:warn] [pid 1] AH01574: module reqtimeout_module is already loaded, skipping
[Tue Sep 13 18:25:20.098325 2022] [so:warn] [pid 1] AH01574: module rewrite_module is already loaded, skipping
[Tue Sep 13 18:25:20.098367 2022] [so:warn] [pid 1] AH01574: module setenvif_module is already loaded, skipping
[Tue Sep 13 18:25:20.098406 2022] [so:warn] [pid 1] AH01574: module status_module is already loaded, skipping
[Tue Sep 13 18:25:20.100451 2022] [alias:warn] [pid 1] AH00671: The Alias directive in /etc/apache2/mods-enabled/alias.conf at line 14 will probably never match because it overlaps an earlier Alias.
AH00526: Syntax error on line 5 of /etc/apache2/ports.conf:

这是我运行容器后得到的errro。重现步骤:

  1. 下载项目https://github.com/ShadowFlade/chess
  2. 在它的根目录中执行docker-compose-up如果您安装了dockerand ,则上述所有操作都是可执行的。我的第一个问题,希望我做得好。附言:如果你对如何在这个项目中更好地使用docker有什么建议,我洗耳恭听

共有2个答案

蔚俊人
2023-03-14

要进行故障排除,可以使用bash实例启动构建的docker映像,如下所示:

# docker images # get docker image id
docker run --rm -it --entrypoint bash <docker-image-id>

导航到配置文件夹并检查配置文件是否存在及其内容是否正确。

锺离德庸
2023-03-14

据我所知,您可以使用自定义命令启动单个容器,例如:
docker 运行my_container睡眠n_seconds其中my_container是容器的名称,n_seconds是容器保持Hibernate状态的时间。
你可以用 docker exec 来查看容器 - 它my_container /bin/bash

但是,如果docker合成文件中的PHP容器在某种程度上依赖于其他容器,那么这可能不会起作用
然后,您可以尝试将:命令:sleep n_seconds添加到docker compose中的容器中,并像往常一样使用docker-compose-up或 启动它,然后查看容器。

来源:
Docker Compose保持容器运行
https://devopscube.com/keep-docker-container-running/

 类似资料:
  • 问题内容: 偶然发现了这个很棒的文本编辑器,facebook的draft.js。我尝试遵循github中的示例,但我想创建一个具有内容的编辑器,而不是一个空的编辑器。 运行它,但出现错误,提示“未捕获的TypeError:contentState.getBlockMap不是函数” 问题答案: EditorState.createWithContent的第一个参数是,而不是字符串。您需要导入Cont

  • 我通过C API使用LXC,并简单地复制和粘贴了示例代码(如链接所示,但用我自己的函数名替换了)。然后从程序中的另一个代码块中调用它,我无法使容器正常启动。 调用只会返回false。如果我将第二个参数更改为start为0(意味着应该使用而不是/sbin/init),则start“成功”,但容器状态立即设置为,因此我无法连接到容器。 正在尝试通过设置获取日志: 只生成空文件。 想到这可能与我看到的另

  • 为了根据文件内容(而不是扩展名)检测真正的文件类型,我使用apache Tika。 但是这段代码看起来很难看。 你能给出更好的解决方案吗?

  • 本文向大家介绍Docker如何进入启动容器,包括了Docker如何进入启动容器的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Docker如何进入启动容器,分享给大家,具体如下: 在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。 这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的attach或exec命令,以及第三方的nsenter工具等。 1、at

  • 问题内容: 要启动容器,我输入以下命令: 但我想在此容器中打开外壳以键入mongo命令。我应该运行什么命令来执行相同的操作? 问题答案: 您可以通过运行以下命令来运行交互式mongo shell: 否则,如果您的容器已经在运行,则可以使用以下命令: