제목 그대로, 도커로 MySQL을 실행하는 포스트.
도커는 가상화 기술을 이용해 컨테이너를 생성하여 각 컨테이너마다 포트를 할당하고, 해당 포트마다 프로세스를 할당한다. 이 포스트는 그 예시의 일환으로 도커를 이용해 컨테이너를 만들어 MySQL을 컨테이너 안에서 실행시키는 글이다.
가장 먼저 도커를 사용하려면 당연히 도커를 다운로드 받아야 한다. 자신의 운영체제에 맞는 버전을 다운로드 받자
다운로드가 완료되었다면, 명령 프롬프트를 열어 잘 다운로드되었는지 확인한다
// 버전이 나온다면 잘 완료된 것
docker -v
이미지를 다운로드 받는 것을 도커에서는 'pull'이라고 부른다. MySQL 이미지를 pull해 오자
docker pull mysql:{version}
특정 버전을 요구하는 프로젝트가 아니라면 {version} 안에 latest를 넣어주자. 가장 최근의 버전을 자동으로 pull해 온다.
지금 우리는 도커도 다운로드 받았고, MySQL이라는 이미지도 pull 해 왔다. 이제 할 일은 docker를 이용해 컨테이너를 생성하고, 해당 컨테이너에서 MySQL을 실행시키는 것이다.
docker run --name mysql-sample-container -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 mysql:{version}
위에서 Docker를 이용해 MySQL이 실행되었다면, 잘 실행되고 있는지 확인해야 한다.
docker ps
//참고 : docker ps -a는 실행되지 않고 있는 도커 컨테이너도 모두 보여준다
위 명령어를 입력했을 때 컨테이너가 나온다면 잘 실행된 것이다. 그렇다면 현 상태는
로컬 사용자의 3306 : 도커 컨테이너 3306 에서 MySQL이 동작중
위 상태가 된 것이다. 이제 아래 명령어로 컨테이너로 들어가면 MySQL을 사용할 준비가 끝난다.
docker exec -it {도커 컨테이너 이름} bash
명령 프롬프트에서 사용자가 아니라 bash가 나오고 있다면 잘 들어온 것.
여기까지 도커로 MySQL을 실행하고, 사용 준비까지 마쳤다. 다음 포스트에서는 본격적으로 MySQL을 사용해 볼 차례다.
만약 도커 이미지, 컨테이너, 가상화라는 개념에 대해 생소하다면, 다음 단계로 넘어가기 전, 이 세 개의 개념에 대해서는 정리하고 넘어갈 것을 권한다.