Php 作曲家while';docker compose';与山绑定
我尝试在数据库旁边为php应用程序构建一个docker compose项目,该项目自动部署在开发人员机器上。这不是一个问题,但卡住的地方是Php 作曲家while';docker compose';与山绑定,php,docker,docker-compose,composer-php,bind,Php,Docker,Docker Compose,Composer Php,Bind,我尝试在数据库旁边为php应用程序构建一个docker compose项目,该项目自动部署在开发人员机器上。这不是一个问题,但卡住的地方是composer安装 我希望有一个从主机绑定到容器中的目录,这样开发人员就能够更改代码,并且能够在docker实例中立即看到它。这意味着 使用PHP和Web服务器部署容器 部署数据库 将本地源目录绑定到PHP容器中 在该目录中执行composer安装 目录树类似于 / -php -- src -- Dockerfile -postgres -- Dockerf
composer安装
我希望有一个从主机绑定到容器中的目录,这样开发人员就能够更改代码,并且能够在docker实例中立即看到它。这意味着
/
-php
-- src
-- Dockerfile
-postgres
-- Dockerfile
docker-compose.yml
我附上了我的docker compose.yml
和PHPDockerfile
中的代码片段,任何人都知道它失败的原因,或者看到顺序中的问题或其他问题,甚至可以解释我必须注意的问题吗?那太好了
Dockerfile:
FROM xy
RUN curl -sS https://getcomposer.org/installer | php \
&& mv composer.phar /usr/local/bin/ \
&& ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
COPY ./src /var/www/html
WORKDIR /var/www/html/
RUN composer install --prefer-source --no-interaction
Docker编写文件:
version: '3.4'
services:
php:
build: ./php
container_name: "php"
volumes:
- ./php/src:/var/www/html
postgres:
image: postgres:10.4-alpine
container_name: "postgres"
任何错误消息都是有用的问题可能是
composer install
命令正在运行并正确终止,但之后容器无需执行任何操作?我以前遇到过postgres容器的问题,因为它的启动速度比我的php容器慢。在php容器配置中使用dependens\u on
以正确的顺序启动它们可能是因为当我正确理解了一篇文章[1]时,我可以在目录e中的构建过程中做任何我想做的事情。g、 "/var/www/html”。当我在该目录上装载卷时(即使装载发生在composer安装之前),之前的层中的所有内容都将消失,并且具有某种优先级。[1]