【发布时间】:2019-09-15 23:36:05
【问题描述】:
我在 Laravel 中有一个带有 .env.local 文件的应用程序(我制作了下一个 docker-compose 文件:
api:
container_name: nadal_api
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/var/www/html/app
ports:
- ${APP_PORT}:80
links:
- db
- redis
还有我的 Dockerfile:
FROM composer:latest AS composer
WORKDIR /var/www/html/app/
FROM php:7.2-fpm-stretch
RUN apt-get update && apt-get install -y \
supervisor \
nginx \
zip
ADD docker/nginx.conf /etc/nginx/nginx.conf ADD
docker/virtualhost.conf /etc/nginx/conf.d/default.conf ADD
docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
ARG enviroment
COPY --from=composer /usr/bin/composer /usr/bin/composer
COPY .env.local .env RUN chmod -R g+w /var/www/html/app/bootstrap
RUN composer install RUN php artisan key:generate
EXPOSE 80
CMD ["/usr/bin/supervisord"]
我想克隆存储库,并在 docker-compose 构建时在 dockerfile 中执行以下操作:
- 将 .env.local 重命名为 .env
- 授予存储文件夹的权限。我在这一行有错误
RUN chmod -R g+w /var/www/html/app/bootstrap
chmod: cannot access '/var/www/html/app/bootstrap': No such file or
directory
- docker-compose.yaml: ${APP_PORT} 从 .env.local 获取值(我尝试使用 env_file 但它不起作用
【问题讨论】:
标签: docker docker-compose dockerfile