ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 16. 도커(Docker)를 사용해보자
    스프링개발자/201 - 일반 2020. 8. 3. 02:30

    [배경]

    도커(Docker)를 쓰면 어플리케이션이 환경에 얽매이는 문제를 해결해준다. 예를들어, 내 어플리케이션의 데이터베이스가 MySQL인데, 도커를 쓰면 다른 OS시스템에 갈때마다 설정을 다시 할 필요가 없다. MongoDB, Jenkins 등등 다른 환경 dependency또한 하나의 도커에 모두 올려서 구동하면, 어디에서나 나의 도커 환경을 불러와서 별도의 셋업없이 바로 구동할 수 있는 Platform as a service(PaaS)이다. 로컬에서 도커를 띄우는 연습을 해보자.

     

    도커개념 설명 유튜브 비디오 by "얄팍한 코딩사전" 

    https://www.youtube.com/watch?v=tPjpcsgxgWc

     

    [학습목표]

    도커가 무엇인지 이해한다

    도커를 설치할 수 있다

    도커 이미지를 설치할 수 있다

    도커와 Intellij를 연동 시킬 수 있다


    1. 도커 설치

    https://www.docker.com/ 에 가서 다운받는다. 윈도우10이어도 이전버전의 윈도우10은 안되므로, 업데이트 후 설치.

    리눅스 컨테이너인데, 윈도우에서도 잘 작동하고, 오히려 가벼워서 윈도우에서 쓰기에도 더 좋은거 같다.

    2. Image를 다운받고 실행시키자

     

    다음의 명령어쳐서 mysql 이미지를 검색하고 다운받고, 확인하자.

     

    docker search mysql
    docker pull mysql:5.7
    docker images

     

    다음의 명령어를 쳐서 다운받은 이미지를 도커에 구동시고 구동상태를 확인하자

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yourPassword123! --name mysql5 mysql:5.7
    docker ps

    -d : detached mode == background 동작

    -p : port 정의

    -e : variable 정의

    3306 포트에 해당 버전(tag)의 이미지를 mysql5이라는 이름을 주고 비밀번호와 함께 백그라운드로 실행.

    (5.7버전을 가장 많이 쓴다)

     

    정상 작동되는것을 확인하자

    3. Intellij와 연동

    인텔리제이 Ultimate 버전을 사용하면, 데이터베이스와 연동 및 사용에 UI도움을 받을 수 있다.

    데이터 베이스를 추가하자

    3306포트에 유저(root) 비밀번호(위에서 설정한 값)을 넣어서 test connection으로 연결상태 확인

     

    4. 데이터그립(DataGrip)이용하여 DDL 작성

     

    인텔리제이에서 데이터베이스 값을 편하게 보자.

    5. 참고자료들

    MySQL 공식문서, 예제
    https://dev.mysql.com/doc/refman/8.0/en/database-use.html
    
    Docker 예제
    https://hub.docker.com/_/mysql
    
    유튜브 도커 개념설명 by "Indiflex 시니어코딩"
    https://www.youtube.com/watch?v=pMY_wPih7R0
    https://docs.google.com/presentation/d/1GVwoLxHq0JwajKIPU8yc72flSJ6pr09ViT-XcLGcRnM/edit#slide=id.p

    [TroubleShooting]

    1. default user = root

    2. 도커 MySQL에서 CLI로 리눅스(혹은 우분투, 이미지에 따라 다름)로 접속하고, mysql로 들어가자; 

    mysql -u root -p
Designed by Tistory.