티스토리 뷰
반응형
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 옵션을 넣고 다시 실행한 결과 기대한 대로 실행되었다.
반응형
'TIL WIL' 카테고리의 다른 글
도커 사용법 (0) | 2022.03.26 |
---|---|
항해 99 TIL-26 Nginx (0) | 2022.03.21 |
항해 99 TIL-25 CI/CD (0) | 2022.03.20 |
항해 99 TIL-24 Swagger (in Node.js) (0) | 2022.03.16 |
항해 99 TIL-23 MVC (0) | 2022.03.15 |