Я новичок в Docker и успешно настроил PHP / Apache / MySQL.Но как только я пытаюсь добавить контейнер node
(чтобы использовать npm
), он всегда закрывает контейнер при компоновке.И да, я понимаю, что могу использовать node
напрямую, без участия docker
, но я считаю это полезным для себя.
А что касается composer
, я хочу использовать тома в node
контейнер для сохранения node_modules
внутри папки src
.
Я составляю его с помощью команды docker-compose up -d --build
.Во время компоновки он не показывает ошибок (даже контейнер node
, кажется, успешно собран).Если это может помочь, я могу поделиться файлом журнала (он слишком велик, чтобы включать его здесь).
PS.Если вы найдете что-то, что можно улучшить, пожалуйста, дайте мне знать.Заранее спасибо!
Dockerfile
FROM php:7.2-apache
RUN apt-get update
RUN a2enmod rewrite
RUN apt-get install zip unzip zlib1g-dev
RUN docker-php-ext-install pdo pdo_mysql mysqli zip
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer global require laravel/installer
ENV PATH="~/.composer/vendor/bin:${PATH}"
docker-compose.yml
version: '3'
services:
app:
build:
.
volumes:
- ./src:/var/www/html
depends_on:
- mysql
- nodejs
ports:
- 80:80
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: qwerty
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql:db
ports:
- 8765:80
environment:
MYSQL_ROOT_PASSWORD: qwerty
PMA_HOST: mysql
depends_on:
- mysql
nodejs:
image: node:9.11
volumes:
- ./src:/var/www/html