docker Образ WordPress не устанавливает приватный пакет composer в веб-папку - PullRequest
1 голос
/ 29 марта 2020

Я пытаюсь создать среду с WordPress (php7 и apache) - git - composer.

Я использую Docker рабочий стол на Windows 10

Dockerfile

FROM wordpress:5.3.2-php7.4-apache

## Install basic things
RUN apt-get update; \
    apt-get install -y --no-install-recommends \
    gpg-agent \
    libpng-dev \
    apt-utils \
    apt-transport-https \
    software-properties-common \
    openssh-client \
    curl \
    ca-certificates \
    wget \
    git \
    gcc \
    make \
    unzip \
    ; \
    rm -rf /var/lib/apt/lists/*

ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /tmp
ENV COMPOSER_VERSION 1.10.1

RUN set -eux; \
  curl --silent --fail --location --retry 3 --output /tmp/installer.php --url https://raw.githubusercontent.com/composer/getcomposer.org/cb19f2aa3aeaa2006c0cd69a7ef011eb31463067/web/installer; \
  php -r " \
    \$signature = '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5'; \
    \$hash = hash('sha384', file_get_contents('/tmp/installer.php')); \
    if (!hash_equals(\$signature, \$hash)) { \
      unlink('/tmp/installer.php'); \
      echo 'Integrity check failed, installer is either corrupt or worse.' . PHP_EOL; \
      exit(1); \
    }"; \
  php /tmp/installer.php --no-ansi --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION}; \
  composer --ansi --version --no-interaction; \
  rm -f /tmp/installer.php; \
  find /tmp -type d -exec chmod -v 1777 {} +

docker -compose.yml

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     build: .
     volumes:
       - ${PWD}/wp:/var/www/html
     ports:
       - "32455:80"
       - "32456:443"
     restart: always
     environment:
        WORDPRESS_DB_HOST: db:3306
        WORDPRESS_DB_USER: wordpress
        WORDPRESS_DB_PASSWORD: wordpress
        WORDPRESS_DB_NAME: wordpress

   phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_ARBITRARY: 1
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: somewordpress
    restart: always
    ports:
    - 8082:80

volumes:
    db_data: {}

Docker Разделы

Filesystem     1K-blocks      Used Available Use% Mounted on
overlay         61255652   4092932  54021388   8% /
tmpfs              65536         0     65536   0% /dev
tmpfs             503512         0    503512   0% /sys/fs/cgroup
/dev/sda1       61255652   4092932  54021388   8% /etc/hosts
shm                65536         0     65536   0% /dev/shm
grpcfuse       488384508 399268420  89116088  82% /var/www/html
tmpfs             503512         0    503512   0% /proc/acpi
tmpfs             503512         0    503512   0% /sys/firmware

Когда я пытаюсь установить свой личный пакет в разделе / ​​var / www/html, я получаю сообщение об ошибке от git

 [RuntimeException]
  Failed to execute git checkout 'XXXXXXXXXXXXX' -- && git reset --hard 'XXXXXXXXXXXXX' --

  fatal: failed to read object XXXXXXXXXXXXX: Operation not permitted

Если я пытаюсь установить пакет не в /var/www/html, установка завершится успешно.

Любая помощь будет оценена для решения этой проблемы.

...