Почему у меня приборка отсутствует ошибка запуска контейнера Docker - PullRequest
0 голосов
/ 24 октября 2018

Я создаю Docker-контейнер для приложения Laravel 5.5.18 со следующими параметрами в web / Dockerfile.yml:

FROM php:7.1-apache

RUN apt-get update -y && apt-get install -y sendmail libpng-dev  libtidy-dev libtidy5 libtidy-dev  tidy

RUN docker-php-ext-install \
    pdo_mysql \
    gd \
    tidy \
    && a2enmod \
    rewrite \
    docker-php-ext-enable ext-tidy

и работаю:

$ docker-compose up -d 
lprods_products_catalog is up-to-date
lprods_docker_adminer_1 is up-to-date
lprods_docker_db_1 is up-to-date
Starting lprods_docker_composer_1 ... done

Я вижу следующие ошибки в composerlog:

$ docker logs --tail=20  lprods_docker_composer_1
    - /usr/local/etc/php/conf.d/date_timezone.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-zip.ini
    - /usr/local/etc/php/conf.d/memory-limit.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for stolz/laravel-html-tidy 0.1.1 -> satisfiable by stolz/laravel-html-tidy[0.1.1].
    - stolz/laravel-html-tidy 0.1.1 requires ext-tidy * -> the requested PHP extension tidy is missing from your system.

  To enable extensions, verify that they are enabled in your .ini files:
    - 
    - /usr/local/etc/php/conf.d/date_timezone.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-zip.ini
    - /usr/local/etc/php/conf.d/memory-limit.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Я добавил tidy php-tidy в команду RUN ... Это не вызывало ошибку (я имею в виду синтаксическую ошибку или несуществующий пакет), но у меня все еще есть ошибка в журналах.

1) Какой путь правильный?

2) Какой способ очистки журналов докера?Я использую опцию

--tail=20

, чтобы показать последние 20 строк, но на самом деле я не уверен, если я увижу некоторые ошибки (как упомянуто выше), эти ошибки из моей команды LAST или они остались от моих предыдущих команд?

composer.json моего проекта:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.6.4",
        "barryvdh/laravel-debugbar": "^2.3",
        "graham-campbell/markdown": "^8.0",
        "intervention/image": "^2.3",
        "khill/lavacharts": "3.0.*",
        "laravel/framework": "5.5.*",
        "laravel/socialite": "^3.0",
        "laravel/tinker": "~1.0",
        "laravelcollective/html": "^5.4.0",
        "nwidart/laravel-modules": "^2.2",
        "wboyz/laravel-enum": "^0.2.1"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~6.0",
        "stolz/laravel-html-tidy": "^0.1.1",
        "xethron/migrations-generator": "^2.0",
        "filp/whoops" : "~2.0" 
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/",
            "Modules\\": "Modules/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ],

        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]

    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

Спасибо!

1 Ответ

0 голосов
/ 25 октября 2018

Попробуйте изменить это:

RUN docker-php-ext-install \
    pdo_mysql \
    gd \
    tidy \
    && a2enmod \
    rewrite \
    docker-php-ext-enable ext-tidy

на это:

RUN docker-php-ext-install \
    pdo_mysql \
    gd \
    tidy \
    && a2enmod \
    rewrite \
    && docker-php-ext-enable tidy 
...