-
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
'스프링개발자 > 201 - 일반' 카테고리의 다른 글
18. Git 브랜치 프로텍션(Branch Protection Rule) (0) 2020.09.07 17. 자바 스트림 (0) 2020.09.07 15. 외부 API를 호출해보자 (0) 2020.08.01 14. 스플렁크 Splunk 시작하기 (0) 2020.07.25 13. 자바 어노테이션을 만들고 task와 함께 사용하자 (0) 2020.07.23