aws ubuntu에 docker-compose로 mysql, redis 띄우기

치즈말랑이·2022년 11월 19일
0

일단 임시 개발용으로 띄우는거라서 하나의 서버에 mysql, redis 같이 띄운다.

  1. ubuntu는 yum을 사용하지 않아도 되고, 기본적으로 yum이 설치되지 않는다.(따로 설정해줘야함 번거로움) sudo apt-get install 명령어 사용

  2. https://velog.io/@skyepodium/AWS-ubuntu-docker-docker-compose-%EC%84%A4%EC%B9%98 이거 보고 docker, docker-compose 설치

여기서 sudo usermod -aG docker $USER 이 명령어가 가장 좋았다.

  1. docker-compose.yml 작성
    https://www.wool-dev.com/data-engineering/database/database-with-docker 이거 보고 작성
version: '3'
services:
  mysql:
    image: mysql
    container_name: mysql
    environment:
      MYSQL_DATABASE: mysql에서 database 이름
      MYSQL_ROOT_PASSWORD: root 계정의 비밀번호
      MYSQL_USER: 그냥 유저
      MYSQL_PASSWORD: 그냥 유저의 비밀번호
    ports:
      - 3306:3306

  redis:
    container_name: redis
    image: redis
    ports:
      - 6379:6379

docker-compose -f docker-compose.yml up -d로 docker-compose 실행
그리고 설정해둔 포트를 aws에서 열어줘야해서 해당 인스턴스 -> 보안그룹 -> 인바운드 규칙 설정 -> 해당 포트로 열어준다. 아이피는 특정아이피만 하든지 0.0.0.0 anywhere 하든지

  1. 깃을 설치해야되는데 그냥 git 명령어치면 git 없다고 설치하는 명령어 알려준다. 그런데 private repository일때는 문제가 생긴다.
    https://chucoding.tistory.com/23 이거보고 SSH KEY 등록한다.
    등록하든 안하든 username이랑 비밀번호 입력하라고 나오면, username은 이메일주소가 아니라 자신의 깃허브들어가면 url이 github.com/닉네임 이건데 여기서 닉네임 적어주면 된다. 비밀번호는 진짜 로그인할때 쓰는 비밀번호가 아니라 깃허브 access token이다.

  2. 깃에서 클론 받고, docker-compose 실행하면 redis는 잘되는데 mysql이 안된다. docker exec -it 컨테이너이름 bash로 해당 컨테이너로 접속한다. 그 후 https://gosu-developer.tistory.com/58 이거 보고 프로젝트에서 사용할 계정을 만들어줘야한다.

use mysql;

CREATE USER '아이디'@'%' IDENTIFIED BY '비밀번호';

GRANT ALL PRIVILEGES ON *.* TO '아이디'@'%';

FLUSH PRIVILEGES;

exit

한줄식 친다. 이 때, 세미콜론 안찍으면 문장 완성이 안되서 이상한거뜬다.
이렇게까지 하고 컨테이너 재시작한다.
이제야 비로소 외부에서도 연결이 된다.

profile
공부일기

0개의 댓글