docker

2025. 7. 29. 23:01일기

mysql의 데이터베이스에 연결해야 하는데 안된다.

 

docker run  -p 3306:3306  -e MYSQL_ROOT_PASSWORD=todos -e MYSQL_DATABASE=todos -d -v todos:/db --name todos mysql:8.0

 

 

docker run 도커 컨테이너를 실행하고, 없으면 이미지를 자동으로 다운로드
-p 3306:3306 호스트의 3306포트 → 컨테이너의 3306포트로 연결
→ FastAPI나 다른 앱이 localhost:3306으로 접속하면 도커 MySQL에 닿도록
-e MYSQL_ROOT_PASSWORD  루트 계정 비밀번호가 설정됨
-e MYSQL_DATABASE=todos 컨테이너 시작 시 todos라는 이름의 DB를 자동 생성
-d 백그라운드(detached) 모드로 실행
-v todos:/db 호스트의 todos라는 이름의 Docker volume을 /db 경로에 마운트
→ ❗근데 MySQL의 실제 데이터 경로는 /var/lib/mysql이기 때문에 효과가 없음
( Docker 컨테이너의 데이터를 호스트 시스템에 안전하게 저장하는 공간)
--name todos 이 컨테이너의 이름을 todos로 지정
 mysql:8.0  mysql:8.0 설치

 

도커를 잘 몰라서 이렇게 만들고 다시 

docker start todos

를 해야 하는걸 몰랐고 

이렇게 todos를 시작한 다음에

docker exec -it todos bash
mysql -u root -p

해야 하는걸 몰랐다....

 

 

후기

docs로 볼려다가 어떻게 docs를 봐야하는지 롤라서 헤매다 gpt 보다가 다시 인강 재수강해서 알아냈다

자꾸 gpt에 의존하게 되는데 docs보면서 공부하는건 어찌하는건지....

반응형

'일기' 카테고리의 다른 글

fastAPI 세션3(ORM)  (2) 2025.07.26
인프런 강의 fastAPI 섹션 2 정리  (1) 2025.07.26