Как запустить контейнер с докером? - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу запустить laravel в докере, поэтому я создаю docker-compose.yml, как показано ниже:

version: '3'
services:
  web:
    image: my-laravel-image
    ports:
        - 3021:8000
    volumes:
        - ./laravel-app:/app

my-laravel-image создается с помощью:

FROM php:7
RUN apt-get update -y && apt-get install -y libmcrypt-dev openssl
RUN docker-php-ext-install pdo mcrypt mbstring
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
WORKDIR /app
COPY . /app

CMD php artisan serve --host=0.0.0.0 --port=8000
EXPOSE 8000

Когда я запускаю docker-compose up --force-воссоздать -d , затем получаю доступ к 127.0.0.1: 3021 в браузере, он успешно работает.

Теперь я хочу использовать php и composer официальное изображение для создания двух контейнеров и соединения друг с другом, как это сделать?

Вот что я пробовал:

version: '3'

services:
    php:
        image: php:7-fpm
        ports: 
          - "3021:8000"
        volumes:
            - ./laravel-app:/app
    composer:
        image: composer:latest
        volumes:
            - ./laravel-app:/app
        working_dir: /app
        command: ["install","php artisan serve --host=0.0.0.0"]
        depends_on:
            - php

Когда я запускаю docker-compose up --force-воссоздать -d и docker-compose log , отображается следующая ошибка:

Invalid argument php artisan serve --host=0.0.0.0. Use "composer require php artisan serve --host=0.0.0.0" instead to add packages to your composer.json.

Как это исправить?

1 Ответ

0 голосов
/ 20 сентября 2018

Я думаю, что проблема в том, что вы пытаетесь выполнить эту команду:

$ install php artisan serve --host=0.0.0.0

Когда их должно быть две команды, подобные этой:

$ composer install & php artisan serve --host=0.0.0.0

regards.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...