기타

window 에서 docker를 이용한 mysql 컨테이너 올리기

멍토 2020. 9. 9.

1. 홈페이지에 들어가서 docker를 설치

https://www.docker.com/get-started

2. docker image 가져오기

  • cmd 창열기
  • 도커허브에서 mysql 이미지 받아오기
docker pull mysql
  • 다운로드된 도커 이미지 확인하기(mysql이 출력되면 정상)
docker images

3. mysql 컨테이너 설정하기

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql_test mysql
  • -d 는 컨테이너를 백그라운드에서 동작하는 어플리케이션으로 실행

  • -p는 포트옵션으로 3306포트로 들어오면 컨테이너의 3306과 연결하겠다는 의미이다

  • -e MYSQL_ROOT_PASSWORD=password 컨테이너를 생성하면서 환경변수를 설정, 여기서는 root password를 password로 설정한다라는 명령어이다.

  • -name mysql_test 컨테이너의 이름을 mysql_test로 설정한다는 뜻이다.

  • -v 옵션을 넣으면 공유할 디렉토리 설정이 가능하다. -v [호스트 디렉토리]:[컨테이너 디렉토리]

  • 컨테이너가 정상적으로 생성되었는지 확인하기 위해 아래의 명령어로 확인한다.

docker ps -a
  • STATUS 항목에 exit가 아니라 UP 시간이 나온다면 컨테이너가 동작
  • ubuntu에서 터미널로 들어가고 싶다면 아래와 같은 명령어
sudo docker exec -i -t mysql_test bash

4. mysql 컨테이너 들어가보기

  • docker프로세스 이미지에서 우클릭하여 Dashboard 클릭하기
  • mysql_test 컨테이너를 실행하고 CLI 들어가기
mysql -u root -p
  • 위의 명령어를 사용한 뒤 생성시 사용한 password를 입력한다.

5. 권한 부여하기

  • root 계정은 DBA가 사용하는 것이고 보통은 권한을 부여받은 유저를 받게된다.
  • develop라는 유저 생성하기
#CREATE USER 'username'@'%' IDENTIFIED BY 'password';
CREATE USER 'developer'@'%' IDENTIFIED BY 'password';
  • developer에게 모든 권한 부여하기
GRANT ALL PRIVILEGES ON *.* TO 'developer'@'%';
  • 이후부터는 root가 아닌 develop를 이용하여 mysql에 접속한다.
quit
mysql -u developer -p

6. DB생성하기

  • mysql내부에 여러개의 DB를 만들 수가 있다.
  • 데이터베이스를 조회하는 목록은 아래와 같다.
show databases;
  • 우리는 사용해야하는 DB를 따로만들어 줘야한다.
#CREATE DATABASE dbname;
CREATE DATABASE test_db;
  • 특정한 DB를 사용하고 싶다면 사용하겠다고 선언을 해야한다.
#use dbname;
use test_db;

7. TABLE 확인하기

  • 해당 DB에 어떠한 테이블이 있는지 확인하기 위한 명령어는 아래와 같다.
show tables;
  • 여기서는 sql명령어를 이용하여 원하는 명령을 내릴 수 있다.

 

docker 컨테이너 명령어

실행

sudo docker start <컨테이너 이름 혹은 아이디>

재시작

sudo docker restart <컨테이너 이름 혹은 아이디>

중지

sudo docker stop <컨테이너 이름 혹은 아이디>

삭제

sudo docker rm <컨테이너 이름 혹은 아이디>

댓글

💲 광고입니다.