1. Docker.hub에서 Mysql 이미지와 관련된 정보 확인
https://hub.docker.com/_/mysql
mysql - Official Image | Docker Hub
Quick reference Supported tags and respective Dockerfile links 9.2.0, 9.2, 9, innovation, latest, 9.2.0-oraclelinux9, 9.2-oraclelinux9, 9-oraclelinux9, innovation-oraclelinux9, oraclelinux9, 9.2.0-oracle, 9.2-oracle, 9-oracle, innovation-oracle, oracle8
hub.docker.com
도커 허브에서 mysql 이미지 창에 들어가보면
mysql 이미지에 필요한 환경 변수가 나와있다.
도커 볼륨을 저장할 호스트의 절대 경로도 확인할 수 있다.
mysql 같은 경우에는 /var/lib/mysql 경로임을 알 수 있다.
2. MySQL 컨테이너 띄우기
$ cd /Users/haeseung/2025/docker_study
$ mkdir docker-mysql # MySQL 데이터를 저장하고 싶은 폴더 만들기
# docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v {호스트의 절대경로}/mysql_data:/var/lib/mysql -d mysql
$ docker run -e MYSQL_ROOT_PASSWORD=password123 -p 3306:3306 -v /Users/haeseung/2025/docker_study/mysql_data:/var/lib/mysql -d mysql
주의) mysql_data 디렉토리를 미리 만들어 놓으면 안됨
mysql_data 디렉토리를 미리 만들어두면 -> 안에 비어 있는 내용 그 자체를 컨테이너의 내부에 덮어씌워버림 -> 에러 발생
미리 만들어두지 않으면 -> mysql 내부에 있는 /var/lib/mysql 파일들을 호스트 컴퓨터로 공유받을 수 있음
3. MySQL 컨테이너에 접속해서 데이터베이스 만들기
$ docker exec -it [MySQL 컨테이너 ID] bash
$ mysql -u root -p
mysql> show databases;
mysql> create database mydb;
mysql> show databases;
그림으로 이해하기
Q. MySQL 비밀 번호를 바꾸고 싶은데 컨테이너를 삭제하고 바꾼 비밀번호를 포함해서 컨테이너를 띄우면 비밀번호가 변경되나요?
A. 아니요
분명 MYSQL_ROOT_PASSWORD 값을 바꿔서 새로 컨테이너를 띄웠는데 비밀번호는 바뀌지 않은걸까?
이 부분 때문에 많은 분들이 헤맨다.
그 이유는 Volume으로 설정해둔 폴더에 이미 비밀번호 정보가 저장되버렸기 때문이다!
'🚀 DevOps > 🐳 Docker' 카테고리의 다른 글
[Docker] 11. Docker로 MongoDB 실행시켜보기 (0) | 2025.04.12 |
---|---|
[Docker] 10. Docker로 PostgreSQL 실행시켜보기 (0) | 2025.04.12 |
[Docker] 8. 도커 볼륨(Docker Volume)에 대하여 (0) | 2025.04.12 |
[Docker] 7. 실행 중인 컨테이너 내부에 접속하기 (exec - it) (0) | 2025.04.07 |
[Docker] 6. 컨테이너(Container) 로그 조회 (0) | 2025.04.07 |