访问Docker中的php错误日志

时间:2017-08-23 12:09:19

标签: php docker

如何访问容器的php错误日志?

由于某种原因,经过长时间搜索各种文章后,我真的很难找到如何做到这一点。

我正在使用一个简单的php7 apache容器,它看起来像: 来自php:7-apache

RUN apt-get update -y && apt-get install -y \
        libpng12-dev \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        curl \
        libcurl4-openssl-dev \
        libxpm-dev \
        libvpx-dev \
    && docker-php-ext-configure gd \
    --with-freetype-dir=/usr/lib/x86_64-linux-gnu/ \
    --with-jpeg-dir=/usr/lib/x86_64-linux-gnu/ \
    --with-xpm-dir=/usr/lib/x86_64-linux-gnu/ \
    --with-vpx-dir=/usr/lib/x86_64-linux-gnu/ \
    && docker-php-ext-install \
        pdo \
        pdo_mysql \
        gd \
        curl \
    && a2enmod rewrite \
    && service apache2 restart

理想情况下,我只需要查看错误日志的内容或在我的计算机上本地获取新的自定义日志集,这样我就可以轻松查看网站构建的潜在问题。

任何指针都表示赞赏。我发现docker文档在日志主题上非常混乱......

3 个答案:

答案 0 :(得分:6)

它存在以下docker命令:

docker logs -f --details containerName

将显示mysql和php错误日志文件

有关详情,请查看文档:{​​{3}}

答案 1 :(得分:2)

默认情况下,容器似乎不会将PHP错误记录到STDOUT或STDERR。我发现使用php.ini-development配置文件(请参见this article中的“配置”)时,它会记录很多有用的信息。

要查看容器的日志,最基本的方法是执行docker ps,找到容器哈希,然后执行docker logs container_hash

答案 2 :(得分:1)

所有PHP输出都在容器中,因此您可以使用所有docker好东西来访问日志......

我最喜欢的是attach因为它允许您实时跟踪日志。 (docker attach containerName

还有logs来查看过去的日志。 docker logs containerName将打印出容器的所有输出。您可能更喜欢添加--tail=N标志,其中N是要获取的行数。