프로그램설치

aws, nginx, gunicorn, docker, mysql, django , vuejs 배포 (1)

예쁜꽃이피었으면 2020. 4. 23. 12:35

#aws(ubuntu) #nginx #gunicorn #docker #mysql #django #vuejs

 

1. aws접속 후 docker설치 

pem파일로 로그인 할 경우 

# ssh -i '파일명.pem' ubuntu@IP주소

 

# sudo apt-get update

Done뜨면 완료

 

# sudo apt-get remove docker docker-engine docker.io

기존에 도커가 설치되어 있을 수도 있으니까 삭제(충돌방지)

 

# sudo apt install docker.io

After this operation, 319 MB of additional disk space will be used.
Do you want to continue? Y

 

Done이 나왔으면 끝

 

# docker --version

해서 버전이 나오면 설치완료

ssh종료 후 다시 접속

 

2. docker에 mysql 올리기

pem파일로 로그인 할 경우

# ssh -i '파일명.pem' ubuntu@IP주소

더보기

전에 할 때 

# sudo su 해서 root로 진행 했는데 왜 그랬는지..기억이 안남.

docker 접속

# service docker start

 

docker에서 mysql 이미지 조회

# docker search mysql

 

mysql이미지 다운로드
# docker pull mysql

 

다운로드된 도커 이미지 확인
# docker images

 

 

도커이미지를 통해 mysql 컨테이너 생성

# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql_test mysql

* -p 3306:3306 :

호스트의 3306포트와 컨테이너의 3306포트를 연결한다.

즉 호스트에 3306포트 접근이 발행하면 해당 컨테이너에 접속이 된다.

* -e MYSQL_ROOT_PASSWORD=password :

컨테이너를 생성하면서 환경변수를 지정한다. root계정의 비밀번호를 설정한다.

* -name mysql_test :

컨테이너의 이름은 mysql_test로 지정한다.

 

mysql 컨테이너 동작하고 있는지 확인

# docker ps -a

파워쉘에서 mysql컨테이너에 접속할 수 있다는데.. 그건 잘 모르겠고

ssh를 하나 더 열어서 aws에 로그인하고 

# docker exec -i -t 컨테이너명 bash

하니 mysql에 접근이 된 것 같다.

(권한이 없다고 해서 sudo su에서 root로 접근했다.)

mysql 접속

# mysql -u ID -p

# 비밀번호 입력

(mysql 계정정보바꿈
alter user 'root'@'%' identified with mysql_native_password by '비밀번호';)

 

 

aws 접속하고

# docker ps하면 컨테이너 id값 알 수 있다.

docker 접속

# docker exec -it <컨테이너 id> /bin/bash

mysql접속

mysql -u root -p
password

비밀번호

 

 

 

 

 

 

 

 

반응형