我想在docker上运行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-recreate -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-recreate -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.
如何解决?
答案 0 :(得分:1)
我认为问题是这样的,您正在尝试执行以下命令:
$ install php artisan serve --host=0.0.0.0
当它们应该是两个这样的命令时:
$ composer install & php artisan serve --host=0.0.0.0
致谢。