PHP扩展未正确安装Docker composer yml文件

jjhzyzn0  于 2023-05-16  发布在  Docker
关注(0)|答案(1)|浏览(123)

我尝试使用以下命令在docker中安装GD扩展,但它无法安装。你能告诉我问题出在哪里吗?下面是Dockerfile中的代码。我想安装更多的PHP扩展,如zip也。但我也没有得到任何错误,当我使用 composer 更新命令本身

Codes in Dockerfile
FROM php:7.4-apache
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd

下面是yml文件中的代码

version: '3'

services:
    apache_test:
        container_name: apache_test
        build:
            context: ./Dockerfile
            dockerfile: Dockerfile
        image: php:7.4-apache
        restart: always
        dns:
            - 8.8.8.8
            - 4.4.4.4
            - 122.28.0.0
        ports:
            - "83:80"
        volumes:
            - $HOME/projects/test:/www/test/
            - ./apache2.conf:/etc/apache2/sites-enabled/vhost.conf
            - ./php.ini:/usr/local/etc/php/php.ini
        networks:
            test_network:
                ipv4_address: 122.28.1.1
    database_test:
        container_name: database_test
        image: mysql:5.7
        restart: always
        ports:
            - "3310:3306"
        environment:
            - MYSQL_ROOT_PASSWORD=abc123
        networks:
            mastercard_network:
                ipv4_address: 122.28.1.2
        command: mysqld --max_allowed_packet=256M
    phpmyadmin_test:
        image: phpmyadmin/phpmyadmin:4.8.4
        restart: always
        ports:
            - "8180:80"
        environment:
            MYSQL_ROOT_PASSWORD: password
            PMA_HOST: database_mastercard
        networks:
            mastercard_network:
                ipv4_address: 122.28.1.3
        links:
            - database_test
volumes:
  data:
    driver: local            
networks:
    test_network:
        ipam:
            driver: default
            config:
                - subnet: 122.28.0.0/16
nwnhqdif

nwnhqdif1#

我在php:alpine图像上遇到了同样的问题,当命令php -m返回所有php扩展都已安装并启用,但当运行composer show -p时,发现缺少php扩展。
我按照问题How to install PHP composer inside a docker container的答案,并在Dockerfile中安装了composer和下一步:

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

之后运行composer show -p给出了所有已安装的php扩展的输出。

相关问题