본문 바로가기
Docker

Docker MySQL 컨테이너 실행하기

by 차가운개발 2024. 9. 23.

 

Docker로 MySQL 이미지를 사용하여 데이터베이스를 생성하고, 테이블을 생성 및 조회해본다. 컨테이너의 포트를 호스트와 연결하여 MySQL Workbench로도 접근할 수 있게 설정한다.

 

도커를 사용하여 MySQL 이미지를 다운로드하고 서버를 실행하면서 포트를 연결한다.

# 이미지를 다운로드하고 컨테이너를 실행(포트 연결을 포함)
docker run --name my-sql-test \ <-- 컨테이너의 이름을 지정한다.
  -e MYSQL_ROOT_PASSWORD=zxcv1234 \ <-- root 사용자의 비밀번호를 지정한다 
  -e MYSQL_DATABASE=testDB \ <-- 컨테이너가 실행될 때 데이터베이스를 생성한다
  -p 3306:3306 \ <-- 호스트와 컨테이너의 포트를 매핑한다.
  (로컬 환경에서 mysql을 사용중이라면 3307:3306으로 매핑하자)
  -d mysql:latest <-- 백그라운드에서 최신버전 이미지를 실행한다.

 

# mysql 컨테이너 내부의 mysql에 접속하는 명령어
winpty docker exec -it my-sql-test mysql -uroot -pzxcv1234

MySQL 접속에 성공했다면 테이블을 생성하고 데이터를 삽입해준다.

 

# 사용할 데이터베이스 지정
use testDB;

# 테이블 생성
create table users(id int auto_increment primary key, name varchar(50));

# 데이터 삽입
insert into users(name) values('kim');

# 데이터 삽입
insert into users(name) values('lee');

# 조회
select * from users;

사용할 데이터베이스를 지정하고, 테이블 생성, 데이터 삽입, 조회까지 성공하였다.

 

MySQL Workbench에서 커넥션을 추가해본다.

 

이런 오류가 발생할 수 있다. docker에서 mysql 버전을 최신 버전으로 설정했기 때문에 발생하는 오류이다. 지금은 무시해도 괜찮다.

 

continue를 클릭하면 커넥션 테스트가 완료된다.

 

워크벤치를 통해서도 컨테이너에서 실행되고 있는 MySQL에 접속할 수 있는걸 확인할 수 있다.

 

작업이 끝난 후 컨테이너를 중지하고 삭제해준다.

 

'Docker' 카테고리의 다른 글

쿠버네티스(Kubernetes)  (4) 2024.12.23
docker를 사용하는 이유  (0) 2024.09.09
docker 기초  (9) 2024.09.01