위와 같은 상태에서 docker를 통해 mysql을 실행시켜보겠다.
관리자 권한으로 작업하기 위해 root권한으로 변경후
docker의 minikube다운받기 위해 오픈소스를 clone한다.
(shift + insert 로 붙여넣기 가능하다)
ubuntu:~$ sudo su -
root@ip: git clone https://github.com/Kyeongrok/docker_minikube_kubectl_install
root@ip: cd docker_minikube_kubectl_install
root@ip: sh docker_install.sh
이제 docker명령어 사용이 가능해졌으니 docker로 nginx 띄워보겠다.
root@ip: docker run -p 80:80 nginx
위 명령어를 실행한 후 URL입력창에 {ec2의퍼블릭DNS}:80
이렇게 입력하면
위와 같은 창이 뜨면 nginx가 정상적으로 실행중임을 확인할 수 있다.
docker 이미지를 다운받아서 mysql을 실행해보겠습니다.
root@ip: docker exec -it mysql-db bash
mysql이 latest버전으로 잘 설치된것을 확인할 수 있다.
mysql docker image를 실행(run)하기 위해서는 몇가지 설정 값들을 인자로 주어야 한다.
--env (-e) : 환경변수 값
아래와 같은 환경 변수를 인자로 받는다.
MYSQL_ROOT_PASSWORD : mysql root 패스워드를 입력하는 환경 변수
MYSQL_USER : mysql user name을 입력하는 환경 변수
MYSQL_PASSWORD : mysql 패스워드를 입력하는 환경 변수
MYSQL_DATABASE : 생성할 데이터베이스 명
--name : docker container 이름
--publish (-p) : 호스트 포트 : 컨테이너 내부 포트
따라서 아래의 명령어를 입력하면된다.
root@ip: docker run --detach --env MYSQL_ROOT_PASSWORD="root" --env MYSQL_USER="likelion" --env MYSQL_PASSWORD="likelion" --name "mysql-db" --publish 3306:3306 mysql;
(※ = 기준 앞뒤로 띄어쓰기가있으면 제대로 인식못하니 띄어쓰기없이 최대한 붙여써주시기 바랍니다)
root@ip: docker exec -it mysql-db bash
bash-4.4: mysql -u root -p
Enter password: root
mysql >
즉, 초록색으로 표시한 부분에 앞서 MYSQL_ROOT_PASSWORD로 설정한 root
를 입력해주면된다.
프롬프트가 안 움직이더라도 잘 입력되고 있는 것이니 root입력 후 엔터를 치면된다.
docker exec -it mysql-db bash
명령어를 통해 mysql-db 컨데이너에 bash 쉘로 접속했다.
해당 컨데이터 안에서 mysql -u root -p를 통해 mysql 어플리케이션이 실행된 것을 볼 수 있다.
이로서 mysql docker image 설치부터 실행완료!
이제 MySQL 데이터베이스를 SQL언어로 조작하면 된다~~
mysql> exit;
bash4.4: exit;
root@ip: