728x90
1. 구조
.env파일은 docker-compose와 같이 최상단에 있어야 한다.
2. .env 파일
PORT=8080
SQUARE_WITH_ME_PASSWORD=12345678
port는 서버 listen 할 포트번호이고 square with me password는 프로젝트 db(mysql)의 root password가 있다.
이 외에도 토큰의 secret key나 kakao 로그인을 위한 api key, secret key등이 있지만 생략
3. docker-compose.yml
version: "3.5"
networks:
nemo-net:
services:
mysql:
networks:
- nemo-net
image: mysql
restart: always
env_file:
- .env
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD="${SQUARE_WITH_ME_DB_PASSWORD}"
server:
networks:
- nemo-net
build:
context: .
dockerfile: Dockerfile.dev
restart: always
env_file:
- .env
ports:
- "${PORT}:${PORT}"
depends_on:
- mysql
links:
- mysql
.env 파일을 사용 시 env_file이라는 옵션을 넣지않고 "$something" 으로 사용 할 수 있다.
아래는 reference.
docker-compose의 env파일 및.env 파일의 차이 - coder-question-ko.com
하지만 실행해본 결과 MYSQL_ROOT_PASSWORD가 empty로 설정되는 오류가 있었고,
env_file 옵션을 넣고 다시 실행한 결과 기대한 대로 실행되었다.
'Docker' 카테고리의 다른 글
8. Docker-compose (0) | 2022.03.18 |
---|---|
7. Docker 리소스 (0) | 2022.03.17 |
6. Docker network (0) | 2022.03.17 |
5. Docker container 데이터 유지 (0) | 2022.03.17 |
4. docker 기초(3) 공유하기 (0) | 2022.03.17 |
댓글