这是我的docker-compose文件
version: '3'
services:
app:
image: php7.1-apache-stretch
container_name: php-app
volumes:
- .:/var/www/html
ports:
- 8080:80
composer:
image: composer:1.8
container_name: composer-app
volumes:
- .:/var/www/html
但是,当我运行时docker-compose up
,唯一正在运行的容器是php-app
。如何在docker-compose文件中运行composer并与我的应用容器通信?
理想情况下,您可以在多阶段构建中使用Composer映像,以避免必须将其及其所有依赖项安装在主机上。
为此,创建一个如下所示的Dockerfile:
FROM composer:1.8 AS composer
FROM php:7.1-apache-stretch
COPY --from=composer /usr/bin/composer /usr/bin/composer
WORKDIR /app
COPY . .
# Place here your command that uses Composer
RUN composer install
注意:由于我不是PHP开发人员,因此您需要查看RUN命令。
现在docker-compose.yml看起来像这样:
version: "3"
services:
app:
build: .
image: php-app:1.0
container_name: "php-app"
ports:
- "8080:80"
您不需要卷了,因为文件是在构建时复制到映像中的。
生成映像并运行服务:
docker-compose up --build -d
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句