【发布时间】:2020-11-04 09:00:03
【问题描述】:
我正在尝试在 docker 中设置我的 symfony 项目,而我正在努力构建 php 容器。
我已经把我所有的源代码放在\var\www\app\
这是我的 docker-compose.yml 的摘录:
php:
build:
context: .
dockerfile: docker/php/Dockerfile
volumes:
- '/var/www/app:/var/www'
restart: on-failure
env_file:
- .env
user: 1000:1000
nginx:
image: nginx:1.19.0-alpine
restart: on-failure
volumes:
- '/var/www/app:/var/www'
- './docker/nginx/app.conf:/etc/nginx/conf.d/app.conf:ro'
ports:
- '80:80'
depends_on:
- php
这是 Dockerfile:
FROM composer:2.0 as composer
FROM php:7.4-fpm
RUN docker-php-ext-install pdo_mysql
RUN pecl install apcu
RUN apt-get update && \
apt-get install -y \
libzip-dev
RUN docker-php-ext-install zip
RUN docker-php-ext-enable apcu
WORKDIR /var/www
COPY --chown=1000:1000 var/www/app /var/www
RUN PATH=$PATH:/usr/src/app/vendor/bin:bin
RUN composer install --no-scripts --prefer-dist \
&& rm -rf "$(composer config cache-dir)" "$(composer config data-dir)"
这是我在尝试构建 php 容器时遇到的错误:
Step 9/11 : COPY --chown=1000:1000 var/www/app /var/www
ERROR: Service 'php' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder883740312/var/www/app: no such file or directory
我猜,问题在于它试图在 docker build 文件夹中获取文件,而不是 /var/www/app。我认为这是因为上下文,我试图改变它,但它再也找不到我的 Dockerfile。
我不知道如何解决这个问题,但我觉得这很容易......但我现在很迷茫。
谢谢!
【问题讨论】:
标签: php docker docker-compose dockerfile