gpt4 book ai didi

php - 无论如何,没有服务就可以启动Docker容器吗?

转载 作者:行者123 更新时间:2023-12-02 19:15:27 31 4
gpt4 key购买 nike

我有一个php容器,每次启动容器时都需要启动php-fpm。现在,由于php-fpm config文件中的配置错误,fpm无法启动,因此,容器无法启动。无论如何,我可以在没有php-fpm的情况下启动容器,以便修复配置文件吗?
容器错误如下:

[04-Sep-2020 13:47:30] ERROR: [/usr/local/etc/php-fpm.conf:7] value is NULL for a ZEND_INI_PARSER_ENTRY

[04-Sep-2020 13:47:30] ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf'

[04-Sep-2020 13:47:30] ERROR: FPM initialization failed

最佳答案

有两种方法可以修复图像。由于找不到图片digitalocean/php,因此在示例中将使用php:7.4-fpm
第一种方式:
从容器中复制文件并使用它来构建自己的图像:
创建Dockerfile:

FROM php:7.4-fpm

COPY ./php-fpm.conf /usr/local/etc/php-fpm.conf
然后:
docker run --detach --name php php:7.4-fpm tail -f /dev/null
docker cp php:/usr/local/etc/php-fpm.conf php-fpm.conf
docker stop php
docker rm -v php
# Edit php-fpm.conf
docker build --tag myphp-fm .
docker run --detach --name php myphp-fpm
然后您将基于固定图像运行容器。

第二种方式:
使用损坏的图像运行 shell ,修复文件并使用 shell 容器创建新图像
docker run -it --name php php:7.4-fpm bash
# Edit /usr/local/etc/php-fpm.conf
# If you install any additional tools remember to remove them afterwards
# and clean any cache's
# Once you're done exit the shell, thus stopping the container
docker commit -a "you" -m "/usr/local/etc/php-fpm.conf fix" php myphp-fpm
docker stop php
docker rm -v php
docker run --detach --name php myphp-fpm
并再次获得基于固定图像的运行容器。

当然,您可以以开始时运行原始镜像的任何方式运行新镜像。
我推荐第一种方法,因为这样可以更轻松地在容器外部编辑文件。

关于php - 无论如何,没有服务就可以启动Docker容器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63742474/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com