本地部署Docker PHP应用镜像失败,请求协助排查
本地Docker部署PHP应用无法通过HTTP访问问题
我在将PHP应用部署到AWS前,先在本地测试Docker配置,但无法正常运行。执行了以下命令:
docker build -f docker-configs/php/Dockerfile -t php-service . docker run -p 9000:9000 php-service
访问localhost:9000无响应,日志显示:
[23-Aug-2023 08:37:53] NOTICE: fpm is running, pid 1
[23-Aug-2023 08:37:53] NOTICE: ready to handle connections
我知道PHP-FPM无法直接处理HTTP请求,需要Nginx或Apache这类Web服务器把HTTP请求转换成FastCGI请求,猜测是不是需要配置一个能直接通过HTTP访问的镜像?
附上我的Dockerfile内容:
FROM php:8.2-fpm RUN apt-get update && apt-get install -y \ git \ unzip \ libicu-dev \ libpq-dev \ wget \ && apt-get install -y \ librabbitmq-dev \ libssh-dev \ sqlite3 \ libsqlite3-dev \ && docker-php-ext-install \ bcmath \ sockets \ pdo pdo_mysql pdo_sqlite \ && pecl install amqp \ && docker-php-ext-enable amqp # Installing Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && composer --version RUN apt-get -y install cron default-mysql-client WORKDIR /app # Copy application files into the container COPY . /app # Expose port 9000 for the PHP-FPM server EXPOSE 9000 # The startup command to run PHP-FPM CMD ["php-fpm"]
同时附上docker-compose.yaml文件:
version: '3.8' services: nginx: image: nginx:latest ports: - "80:80" volumes: - "./docker-configs/nginx.conf:/etc/nginx/conf.d/default.conf" - ".:/app:cached" php: build: context: ./docker-configs/php volumes: - "./docker-configs/php/php.ini:/usr/local/etc/php/conf.d/php.ini" - ".:/app:cached" environment: PHP_IDE_CONFIG: "serverName=Docker" database: image: nouchka/sqlite3:latest stdin_open: true tty: true volumes: - ./sqlite-data:/var/lib/sqlite
恳请帮忙解决,谢谢!
内容的提问来源于stack exchange,提问作者monaxi
相关产品推荐
相关产品推荐

