AWS

AWS_Chapter10_Docker로 MySQL서버 구축

강용민 2022. 6. 2. 10:18

기존에 만들었던 AWS Ec2인스턴스에  RDS를 이용하지 않고 MySQL 서버를 구축하려한다.

MySQL

 

MySQL설치

현재 Docker 이미지와 컨테이너를 살펴보면 MySQL이 설치가 안되어 있다.

docker pull를 이용해 mysql를 설치하자.

docker 이미지를 확인해보면 mysql이 잘 설치 된것을 볼 수 있다.

 

MySQL 컨테이너 생성

MySQL 컨테이너 생성 시 MySQL과 Host의 포트를 연결해야한다.

sudo docker run --name mysql-lecture -e MYSQL_ROOT_PASSWORD=<passwd> -d -p 3306:3306 mysql:5.6

컨테이너 생성에 오류가 났다. 이미 Aws3306포트를 누군가 사용하고 있단다.

docker 컨테이너를 확인해보면 STATUS가 Created상태이고 PORTS가 연결이 안되어 있는 것을 볼수 있다.

 

해당 컨테이너를 삭제하고, 3307포트를 이용한 컨테이너를 만들자.

#mysql-lecture 컨테이너 삭제
sudo docker rm mysql-lecture

#host포트 3307포트 --> docker 3306포트
sudo docker run --name mysql-lecture -e MYSQL_ROOT_PASSWORD=passwd -d -p 3307:3306 mysql:5.6

ps를 통해 확인해보면 컨테이너가 잘 생성되어있는 것을 볼 수 있다.

 

MySQL 컨테이너 시작,중지 및 접속

컨테이너가 잘 생성되었으니, 이제 컨테이너에 접속해보자.

# MySQL Docker 컨테이너 중지
sudo docker stop mysql-lecture 

# MySQL Docker 컨테이너 시작
sudo docker start mysql-lecture 

# MySQL Docker 컨테이너 재시작
sudo docker restart mysql-lecture 

#MySQL Docker 컨테이너 접속
sudo docker exec -it mysql-lecture /bin/bash

exec 명령어를 통해 컨테이너로 접속했으니, 이제 mysql로 접속을 하자.

 

MySQL접속

현재 컨테이너로 접속해 있는 상태다. mysql로 들어가기 위해서는 다음의 명령어를 친 후 비밀번호를 적으면 mysql로 들어갈 수 있다.

mysql -u root -p

mysql 관련 DB는 Toad를 이용해서 살펴볼 것이기에 Toad와 연결하자.

포트를 3307로 설정하고,마찬가지로 ec2의 인바운드에도 3307을 허가해준다.

 

Docker Build

이번에는 dockerfile을 만들어 볼것이다. dockerfile은 후에 build를 통해 이미지파일을 만들때 사용하는 소스이다.

 

그럼 dockerfile명령어를 알아보자.

 

 

ec2에서 폴더를 하나 만든뒤 nano나 vim을 이용해서 Dockerfile이라는 파일을 만든다.

그리고 안에는 아래와 같은 글을 작성한뒤 저장한다.

작성했으면, 다음 명령어를 이용해 빌드해보자.

#--tag(또는 -t) 옵션은 새로 생성할 이미지 이름을 지정
#마지막에 점(.)은 Dockerfile의 위치를 경로를 지정
#Dockerfile이 아닌 경우 --file(또는 -f) 옵션을 사용해서 파일 이름을 지정
#Dockerfile이 위치한 디렉토리에서 위 명령어를 실행하면 다음과 같이 새로운 도커 이미지를 생성
sudo docker build --tag echosimple:1.0 .

 

'AWS' 카테고리의 다른 글

클라우드컴퓨팅_Chapter01_개요  (0) 2022.09.02
AWS_Chaper6~10_요약  (0) 2022.06.09
AWS_Chapter9_docker  (0) 2022.05.26
AWS_Chapter07_네트워크 기초  (0) 2022.05.12
AWS_Chapter6_RDS  (0) 2022.04.28