middlemoon
Docker,MySql - EC2 인스턴스 생성해서 SSH에 AWS 연결하기(3) 본문
이번 시간은 Mysql 데이터베이스를 Docker 환경 내에 만들어 AWS서버내에 Mysql을 연동시키는 작업까지 해보려고 한다.
1)docker pull mysql - docker 안에 있는 Mysql을 사용할 수 있는 확장자 개념의 파일을 가져오는 명령어이다.
도커의 장점은 본인이 원하는 파일들을 가볍게 pull 하는 방식으로 가져올수 있으며, 자유롭게 또한 사용가능하다.
docker pull mysql
pull을 하게되면 보다시피 images안에 담겨져 있는것을 볼수 있다. 이 과정은 쉽게 말해 내가 사용하고자 하는 이미지 파일들을
docker의 저장소에 담아놓은 상태이다 실행하기 위해서는 컨테이너화된 부분을 아래와 같이 실행해주면 된다.
필자 또한 만드는 과정중에 알수 없는 오류가 발생하여 다시 만들어 보고 있고, 다시 처음부터 진행하는 것이니 잘 따라오면 될것이다
2)docker ps - 리스트를 반환해주는 명령어로 현재 docker의 컨테이너 명령어가 실행된다면
리스트를 상태별로 차례대로 보여주는 특징이 있다.
docker ps
다시 지우고 만들어야 하기 때문에 삭제를 한다.
명령어 docker rm -f Name 을 입력하게 되면 컨테이너를 등록한 부분이 삭제가 되고
docker ps를 조회 시 리스트에 모두 삭제된것을 알수가 있다. 그렇게 되면 WorkBench에 서버에 더 이상 접속을 하지 못하게끔 된다.
도커네트워크생성
docker network create springboot-mysql-network
도커네트워크 조회
docker network ls
이제 다시 만들기 위해서 docker run부터 실행할 텐데, 이 부분은 컨테이너화 한다라고 생각하면 편하다.
docker run - container 실행
docker run --name db-mysql -p 3306:3306 --network springboot-mysql-net -e MYSQL_ROOT_PASSWORD=1234 -e MYSQL_DATABASE=ecommercedb -e MYSQL_USER=user -e MYSQL_PASSWORD=1234 -d mysql:8.0.30
이렇게 되면 mysql 컨테이너화가 되는것을 볼수 있고,
docker exec -it db-mysql /bin/bash
docker run - Spring 프로젝트 컨테이너화 실행(초기 1회만 등록, 컨테이너 최초등록)
docker run -p 8080:8080 --name springboot-mysql --network springboot-mysql-net -d IMAGE ID
아래와 같이 Docker DB 추가
Local Workbench DB -> Docker Server DB로 가져오기 위한 과정
Export(아래 그림과 같이 동일하게 수정)
Export로 내가 만들어놓은 경로에 sql문을 저장하고 난 뒤 Administration -> Data Import -> 아래 내용과 같이 동일하게 수정
보안 -> 보안그룹(링크클릭)
인바운드 규칙 편집
규칙을 추가하여 총 네개의 트래픽을 제어할수 있도록 설정한다.
모든 설정값을 변경 한 뒤 AWS서버에 만든 할당된 IP주소로 들어가면 본인이 만든 프로젝트가 생성되는것을 볼 수 있다.
'Infra > Docker' 카테고리의 다른 글
Docker - EC2 인스턴스 생성해서 SSH에 AWS 연결하기(2) (0) | 2022.12.28 |
---|---|
Docker images pull 하기 (0) | 2022.03.28 |