Docker에서 mysql설치하고 접속해보기

###개발환경 Windows 10 pro, Docker for Windwos


Related Posts

1.Windows10pro docker 설치하기 2.Docker에서 mysql설치하고 접속해보기


Docker에 mysql 설치하기

일단 docker의 kitematic을 열고 Docker CLI를 클릭하여 윈도우 파워쉘을 열고 Docker 명령어로 진행하겠다. (GUI를 사용할수도 있지만, 나는 터미널이 편해서 터미널을 통해 설치하도록 하겠다.)

Kitematic에서 Docker CLI 클릭

윈도우 파워쉘

아래 docker 명령어를 차래로 입려해보자.

1.mysql 도커이미지 조회

1
docker search mysql

위 명령어를 입력하면 mysql 관련 도커이미지를 도커 허브를 통해 검색한다. 최상위에 mysql 이미지를 다운로드 할 예정이다. 참고로 OFFICIAL항목에 OK가 되어있는 이미지들이 공식 이미지들이다.

2.mysql 도커이미지 다운로드

1
docker pull mysql

위 명령어를 입력하면 해당 도커 이미지를 로컬에 다운로드 한다. 태그명을 생략했으므로 mysql 최신버전 이미지가 다운로드 된다.(현재 mysql 8버전)

3.다운로드된 도커이미지 확인

1
docker images

위 명령어로 다운받은 이미지를 확인한다. TAG 항목에 latest가 최신 버전임을 보여준다.

클릭하면 잘보임

4.도커 이미지를 통해 mysql 컨테이너 생성

1
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql_test mysql

위 명령어를 입력하면 mysql 이미지를 통해 mysql 컨테이너를 생성하고 동작 시킨다.

옵션을 조금 설명해 보자면 아래와 같다.

-p 3306:3306 : 호스트의 3306포트와 컨테이너의 3306포트를 연결한다. 즉 호스트에 3306포트 접근이 발행하면 해당 컨테이너에 접속이 된다.

-e MYSQL_ROOT_PASSWORD=password : 컨테이너를 생성하면서 환경변수를 지정한다. root계정의 비밀번호를 설정한다.

-name mysql_test : 컨테이너의 이름은 mysql_test로 지정한다.

아래 명령을 입력하여 생성된 mysql 컨테이너가 동작하고 있는지를 확인 할 수 있다.

1
docker ps -a

STATUS 항목에 exit가 아니라 UP 시간이 나온다면 컨테이너가 동작하고 있는 것을 말한다.

5.파워쉘에서 mysql 컨티에너 접속

1
docker exec -i -t mysql_test bash

위 명령어를 입력하여 mysql 컨테이너에 접속한다. mysql컨테이너의 bash쉘에 접속이 된다.

아래 명령어를 입력하고 아까 docker run에서 설정한 root 계정의 password를 입력하면 mysql 서버에 접속 할 수 있다.

1
mysql -u root -p

클릭하면 잘보임


Windows10에 MySQL Workbench를 설치해서 도커 mysql 컨테이너에 접속하기

1.MySQL WorkBench 다운로드 및 설치

주의:Mysql 8버전을 사용한다면 Develoment Releases의 MySql Workbench 8버전을 사용해야 한다. Mysql8 버전에서 계정 비밀번호 암호화 문제로 다른 워크벤치 버전에서 접속 오류가 발생한다.

오류내용: Failed to Connect to MySQL at localhost:3306 with user root Authentication plugin 'caching_sha2_password' cannot be loaded: ...

mysql workbench 접속 오류

우선 https://dev.mysql.com/downloads/ 접속해서 MySQL Workbent 클릭하고 Develoment Releases 탭 클랙 한 뒤 Mysql Workbench 인스톨러를 다운로드 하자.

위 화면에서 스크롤을 아래로 내리면 아래와 같은 화면 이 나온다.

다운로드한 exe파일을 설치하자. 설치가 완료가 되면, 자동으로 Mysql Workbench가 실행된다.

2.Mysql WorkBench에서 Docker의 mysql 컨테이너에 접속하기 플러스 버튼을 클릭하자.

아까 생성한 Docker mysql의 접속하기 위한 정보를 입력한다.

접속테스트를 결과를 확인하자.

마무리

윈도우의 도커에 mysql을 이미지를 이용하여 mysql 도커 컨테이너를 생성하고, 호스트 윈도우에서 Mysql Workbench를 이용하여 mysql db 접속까지 테스트 해 보았다.