gpt4 book ai didi

laravel - Laravel指定与 `.env`不同的名称或将ingore设为 `.env`,以免与docker和docker-compose冲突

转载 作者:行者123 更新时间:2023-12-02 19:03:25 28 4
gpt4 key购买 nike

因为我使用dockerdocker-compose而不是Homestead和任何基于Vargrant的开发解决方案,所以我想避免与laravel在.env文件的使用上发生冲突。因此,我希望laravel不要查找该文件,而是从环境变量中获取所需的设置数据。

那么,如何指定,配置laravel 不是来查找.env文件?如果不可能,如何更改文件名以搜索环境变量和设置?
docker-compose.yml位于项目的根文件夹中。

我的docker-compose.yml是:

version: '3.1'
services:
develop:
image: ddesyllas/php-dev:${TAG}
volumes:
- ".:/var/www/html"
links:
- memcache
environment:
DB_CONNECTION: postgresql
DB_HOST : postgresql
DB_PORT : 5432
DB_DATABASE: ${DOCKER_POSTGRES_DB}
DB_USERNAME: ${DOCKER_POSTGRES_USER}
DB_PASSWORD: ${DOCKER_POSTGRES_PASSWORD}

nginx:
image: nginx:alpine
ports:
- 7880:7880
links:
- "develop:develop"
volumes:
- ".:/var/www/html"
- "./docker/nginx.conf:/etc/nginx/nginx.conf:ro"


postgresql:
image: postgres:alpine
volumes:
- './docker/misc_volumes/postgresql:/var/lib/postgresql/data'
environment:
POSTGRES_USER: ${DOCKER_POSTGRES_USER}
POSTGRES_DB: ${DOCKER_POSTGRES_DB}
POSTGRES_PASSWORD: ${DOCKER_POSTGRES_PASSWORD}

memcache:
image: memcached:alpine

因此,需要在aoproach一次申请全局方法中进行全局设置。例如,我根本不希望自己的laravel应用程序访问 ${TAG}环境变量。

最佳答案

docker-compose.yml中,您可以指定不同于env_file.env,例如:

version: "3.1"
services:
webserver:
image: nginx:alpine
restart: always
container_name: laravel-webserver
working_dir: /application
env_file:
- .env_docker
networks:
- intranet

networks:
intranet:
external: false

在这里 docker-compose.yml将使用 .env_docker而不是 .env
编辑:

如果您想为laravel .env使用其他文件,则可以更改 volumns部分以指定Like:
volumes:
- ".:/var/www/html"
- "./docker/nginx.conf:/etc/nginx/nginx.conf:ro"
- "/<path to your different env file>:/var/www/html/.env"

关于laravel - Laravel指定与 `.env`不同的名称或将ingore设为 `.env`,以免与docker和docker-compose冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56682726/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com