.env ํ์ผ์ด docker-compose ํ์ผ๊ณผ ๋์ผํ ํด๋์ ์์ง ์์ ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์ ํด๋์ ๋ฐฐ์นํ๊ณ ์ฐธ์กฐํ๋ฉด ๋ณ์๊ฐ ์ ์๋์ง ์์์ผ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น ๋ฌธ์์ด์ด๋๋ค๊ณ ํ์๋ฉ๋๋ค. .env ํ์ผ์ ์ ๊ฑฐํ๋ฉด .env ํ์ผ์ ์ฐพ์ ์ ์๋ค๋ ๋ฉ์์ง๊ฐ ํ์๋๋ฏ๋ก ํ์ผ์ ์ฐพ์ง ๋ง ์๋ฌด ์์ ๋ํ์ง ์์ต๋๋ค. .env ํ์ผ์ docker-compose ํ์ผ๊ณผ ๋์ผํ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๊ณ ๊ฒฝ๋ก๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๋์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ง๋ค๋ฉด ๋ชจ๋ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค.
๋ถ๋ช ํ docker-compose๋ docker-compose ํ์ผ๊ณผ ๋์ผํ ๋๋ ํ ๋ฆฌ์ ์์ง ์์ env ํ์ผ์๋ก๋ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
ํ์ฌ ์ ๋ ํ์ ํด๋์์๋ Laravel ํ๋ก์ ํธ์ ๊ณต์ ๋๋ .env ํ์ผ์ ์ฌ๋ณผ๋ฆญ ๋งํฌํ์ฌ "์์ "ํ์ต๋๋ค.
๋ด ๋์ปค ์์ฑ ํ์ผ (๊ฐ์ฒด) :
version: '3'
services:
mysql:
image: mariadb
volumes:
- mysql_data:/var/lib/mysql/data
env_file:
- ./api/.env
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
volumes:
mysql_data:
์ด๊ฒ์ ์ด์ ์ ๋ต๋ณ๋์์ต๋๋ค.
๊ธฐํ
๋ช ํ์ฑ ํ์ด์ง ์ฐธ์กฐ : https://docs.docker.com/compose/environment-variables/
์๋
ํ์ธ์ @ shin-, ์ ํํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๊ณต์ ๋ฌธ์ (https://docs.docker.com/compose/env-file/)์ ๊ฒ์ ํ ์ฃผ์ ๋ฅผ ์ฝ์์ง๋ง ์ ์ง๋ฌธ์ ๋ตํ์ง ๋ชปํ์ต๋๋ค. OP๊ฐ ๋งํ๋ฏ์ด .env ํ์ผ์ด docker-compose.yml์ ๊ฒฝ๋ก์ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์์ผ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
version: '3.7'
services:
postgres:
image: postgres:alpine
restart: always
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
php:
build:
context: .
dockerfile: ./docker/php/Dockerfile
restart: always
env_file:
- ./app/.env
volumes:
- ./app:/usr/src/app
nginx:
image: nginx:1.15.3-alpine
restart: always
volumes:
- ./app:/usr/src/app
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- ${NGINX_PORT}:80
depends_on:
- php
./app/ ๋ด๋ถ์๋ ์์ฒด .env๊ฐ์๋ ์ฌํฌ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๊ณ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉ๋๋ env vars๋ฅผ ๋์ผํ .env์ ๋ฃ๊ณ ์๋ํ๋๋กํ๋ ค๋ฉด 2 x .env, ํ๋๋ docker- ๋ด ์ฑ ๋๋ ํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ์ ํ๋๋ฅผ ์์ฑํ์ญ์์ค.
Afaik ํ๊ฒฝ ๋ณ์๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๊ฐ์ ธ ์์ง๋ง ๋์ปค ์์ฑ ํ์ผ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค (NGINX_PORT์์ํ๋ ๊ฒ์ฒ๋ผ). ๋์ผํ ๋๋ ํ ๋ฆฌ์์๋ ๋ณ๋์ .env ํ์ผ์ ์ฌ์ฉํ๊ณ ์ค์ ๋ก๋ ์์ฉ ํ๋ก๊ทธ๋จ์์๋ก๋ํฉ๋๋ค. ์ ๋ง ํ์ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ @ shin-, ์ ํํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๊ณต์ ๋ฌธ์ (https://docs.docker.com/compose/env-file/)์ ๊ฒ์ ํ ์ฃผ์ ๋ฅผ ์ฝ์์ง๋ง ์ ์ง๋ฌธ์ ๋ตํ์ง ๋ชปํ์ต๋๋ค. OP๊ฐ ๋งํ๋ฏ์ด .env ํ์ผ์ด docker-compose.yml์ ๊ฒฝ๋ก์ ๋ค๋ฅธ ๊ฒฝ๋ก์ ์์ผ๋ฉด ์๋ํ์ง ์์ต๋๋ค.
./app/ ๋ด๋ถ์๋ ์์ฒด .env๊ฐ์๋ ์ฌํฌ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๊ณ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉ๋๋ env vars๋ฅผ ๋์ผํ .env์ ๋ฃ๊ณ ์๋ํ๋๋กํ๋ ค๋ฉด 2 x .env, ํ๋๋ docker- ๋ด ์ฑ ๋๋ ํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ์ ํ๋๋ฅผ ์์ฑํ์ญ์์ค.