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 |