Docker-compose WordPress с расширениями PHP

Я использовал следующий файл docker-compose.yml для создания среды WordPress. Все работает нормально, за исключением случаев, когда я пытаюсь использовать функцию PHP easter_date(), я получаю ошибку неопределенной функции.

Может ли кто-нибудь объяснить мне, что мне нужно добавить в файл YML, чтобы включить расширение PHP easter_date()?

version: '3.3'

services:
  db:
    image: mysql:5.7
    volumes:
      - ./data:/docker-entrypoint-initdb.d # This will import DB data from an sql file in your /data folder
      - ./data/migrate.sql:/docker-entrypoint-initdb.d/migrate.sql # run sql commands in migrate.sql to update site urls in DB
    restart: always
    ports:
      - "3400:3306" # mapping our ports for networking
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
  phpmyadmin:
     image: phpmyadmin/phpmyadmin
     restart: always
     ports:
       - "8080:80"
     environment:
       PMA_HOST: db
       MYSQL_ROOT_PASSWORD: wordpress
       DOCKER_COMPOSE_YML_LOCATION: wordpress
     container_name: wp_phpmyadmin
  wordpress:
    build:
      context: .
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "3500:80" # mapping our ports for networking
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DEBUG: 1
      WORDPRESS_MEMORY_LIMIT: 256MB
    working_dir: /var/www/html
    volumes: # this is where we tell Docker what to pay attention to
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini # create custom uploads.ini which has an increased upload file size limit, memory etc.
volumes:
  db_data: {}

Я попытался включить расширения PHP, вставив следующие две строки:

  php: #https://stackoverflow.com/questions/46401966/install-packages-from-docker-compose-yml-into-docker-container
    build: './docker/php'

А затем создал Dockerfile внутри ./docker/php с

FROM php:7.1-fpm

    RUN docker-php-ext-install calendar && docker-php-ext-configure calendar

Но я получаю ERROR: Cannot locate specified Dockerfile: Dockerfile при запуске сборки docker-compose


person user1444027    schedule 02.06.2020    source источник
comment
Папка ./docker/php должна быть создана из вашего каталога файлов docker-compose.yml.   -  person Hakob Hakobyan    schedule 02.06.2020
comment
да, я добавил эту папку и поместил в нее Dockerfile   -  person user1444027    schedule 02.06.2020
comment
странно, я также вижу ту же ошибку, когда я удаляю строку php: build: './docker/php' из файла yml и снова запускаю сборку   -  person user1444027    schedule 02.06.2020
comment
Как вы запускаете сборку? ты бегаешь docker-compose up?   -  person Hakob Hakobyan    schedule 02.06.2020
comment
да, обычно я делаю docker-compose up, но когда я делаю docker-compose build, я вижу ошибку   -  person user1444027    schedule 02.06.2020
comment
Вы можете сначала запустить docker-compose down, а потом собрать? он должен удалить кеши   -  person Hakob Hakobyan    schedule 02.06.2020
comment
хорошо, кажется, сейчас, но я все еще получаю ошибку неопределенной функции php   -  person user1444027    schedule 02.06.2020
comment
Давайте продолжим обсуждение в чате.   -  person Hakob Hakobyan    schedule 02.06.2020