728x90
반응형
왜 docker 인가?
내 맥북에 직접 프로그램을 설치하지 않고 컨테이너로 격리해서 관리하여 로컬 환경의 깔끔함을 유지하고 싶었다.
프로젝트 루트 폴더 생성 및 이동
먼저 전체 작업을 진행할 'work' 폴더와 프로젝트 폴더를 만든다.
# 1. 루트에 work 폴더 생성
mkdir ~/work
# 2. work 폴더로 이동
cd ~/work
# 3. 꿀떡볶이 프로젝트 폴더 생성
mkdir honeydduk
# 4. 프로젝트 폴더로 접속
cd honeydduk
docker compose 파일 생성 (vi 편집기)
터미널에서 파일을 바로 만드는 가장 대표적인 방법, vi를 사용한다.
여러 컨테이너를 한 줄의 명령어로 관리하기 위해 compose 파일을 생성하려고 한다.
# docker-compose.yml 파일 생성 및 편집 모드 진입
vi docker-compose.yml
# 'i' 입력해 입력모드 활성화
i
# yml 파일 내용 작성
services:
# 데이터베이스: MySQL 8.0
db:
platform: linux/amd64 # 윈도우/맥 호환성을 위해 추가
image: mysql:8.0
container_name: honeydduk-mysql
ports:
- "3307:3306"
environment:
MYSQL_DATABASE: honeydduk_db
MYSQL_ROOT_PASSWORD: password
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --default-authentication-plugin=mysql_native_password
volumes:
- ./mysql_data:/var/lib/mysql
# 캐시/메시지 큐: Redis
redis:
platform: linux/amd64 # 윈도우/맥 호환성을 위해 추가
image: redis:latest
container_name: honeydduk-redis
ports:
- "6379:6379"
* MySQL 3306 포트는 이미 로컬 컴퓨터에 설치한 이력이 있어 현재 백그라운드에서 돌아가고 있는 듯 하다.
그래서 3307 포트로 우회하여 세팅하였다.
* MySQL Root Password는 일단 환경 빠르게 세팅하기 위해 password로 임시 설정하고, 나중에 .env 파일 세팅하여 관리하여 한다.
* volumes : 컨테이너가 꺼져도 DB 데이터가 날아가지 않게 로컬 폴더(mysql_data)와 동기화하였다.
# 파일 저장 및 종료
Esc
:wq
Enter
컨테이너 실행 및 확인
# 백그라운드에서 컨테이너 실행
docker compose up
# 실행 중인 컨테이너 목록 확인
docker ps
docker 환경 세팅 완료
우선 아래와 같이 MySQL 8.0, Redis를 docker 안에 구축하였다.

728x90
반응형
'[Project] > 사이드 프로젝트' 카테고리의 다른 글
| [꿀떡볶이 프로젝트] 프로젝트 생성 및 컨테이너화 (IntelliJ, docker) (0) | 2026.03.17 |
|---|---|
| [꿀떡볶이 프로젝트] 사이드 웹프로젝트 기술 스택 선정 (0) | 2026.03.16 |
| [Mac/intellij] 사용하지 않는 import문 자동 삭제 해제 (0) | 2023.12.12 |
| [404 Error] 파일 [/order/paySuccess.jsp]을(를) 찾을 수 없습니다. (0) | 2023.12.11 |
| [mysql/intellij] SQLException: Access denied for user 'root'@'localhost' (0) | 2023.12.10 |


