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

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

일단 임시 개발용으로 띄우는거라서 하나의 서버에 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개의 댓글