폴더 구조
..
server/
...
Dockerfile
mysql/
Dockerfile
my.cnf
sqls/
initialize.sql
mysql_data/ # 컨테이너 생성 과정에서 생성.
docker-compose.yaml
- docker-compose.yaml
클라우드 서비스나 타 서버의 데이터베이스를 연결하려면, mysql 부분을 주석 처리 및 제거하면 된다.version: '3' services: backend: build: dockerfile: Dockerfile context: ./server ports: - '8000:8000' volumes: - ./server:/src environment: ENVIRONMENT: LOCAL depends_on: - mysql mysql: build: dockerfile: Dockerfile context: ./mysql restart: unless-stopped ports: - '3306:3306' volumes: - ./mysql/mysql_data:/var/lib/mysql - ./mysql/sqls/:/docker-entrypoint-initdb.d/ environment: MYSQL_ROOT_PASSWORD: 1234 MYSQL_DATABASE: tablename
docker-compose 주의 사항
- Dockerfile에서 EXPOSE한 포트를 열어줘야 한다.
- volumes 설정은 { 현재 로컬 workdir }:{ 컨테이너 내 workdir }
'인프라' 카테고리의 다른 글
Git, release 브랜치 관리하기 (0) | 2024.05.16 |
---|---|
Github Action & 도커 허브에 이미지 전송 (1) | 2024.05.01 |
Docker, MySQL with 파이썬 (0) | 2024.04.24 |
Docker, FastAPI (0) | 2024.03.24 |
클라우드 개발 서버와 동일한 설정의 운영 서버 구축 (0) | 2024.03.10 |