• Blog
  • Projects
  • Resume
profile_image

[Database] Docker 설치

Database

2021.01.30

Docker 다운로드

  • 먼저 Docker를 다운 받는다. Rano의 컴퓨터는 Windows다.

  • Docker Desktop for Windows를 설치한다.

  • 다른 OS 버젼은 Explore - Docker Download 참고하길..

  • 모든 체크박스를 체크 후 설치를 진행한다.

    image
  • 다 설치 후 재부팅!

  • 재부팅 후, 만약 아래 이미지와 같은 에러가 뜬다면 링크를 따라가서 해당 파일을 설치한 후 다시 도커를 실행하면 된다.

    image
  • 터미널에 docker --version 명령어를 쳤을 시, 아래와 같이 나온다면 설치완료!

    image


Docker MySQL 세팅 & 접속

  • Rano는 MySQL 5.7버젼이 아닌 8.0.19를 사용했다.

  • docker pull mysql:8.0.19를 터미널에 입력해서 MySQL 이미지를 생성한다.

  • 이미지 생성이 완료되면 docker images를 입력해서 확인해본다.

    image
  • Docker MySQL 컨테이너 생성
    컨테이너를 생성할 때, 2가지 방법이 있는데, docker-compose.yml 파일을 생성해서 진행했다.

    version: '3' # 파일 규격 버전
    services: # 이 항목 밑에 실행하려는 컨테이너 들을 정의
    db: # 서비스 명
    image: mysql:8.0.19 # 사용할 이미지
    container_name: rano-mysql # 컨테이너 이름 설정
    ports:
      - '3306:3306' # 접근 포트 설정 (컨테이너 외부:컨테이너 내부)
    environment: # -e 옵션
    MYSQL_ROOT_PASSWORD: 'PASSWORD' # MYSQL 패스워드 설정 옵션, 진짜 PASSWORD라고 쓰지말길. 사용하고 싶은 비번 입력!
    command: # 명령어 실행  # 아래 두 행을 넣어줘야 한글이 깨지지 않는다 함!
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    volumes:
      - /Users/Administrator/Documents/Docker_External:/var/lib/mysql mysql # -v 옵션 (다렉토리 마운트 설정, [로컬 디렉토리]:[컨테이너 디렉토리])
    

    위 파일을 생성 후, 터미널로 들어가서 docker-compose.yml 파일이 있는 디렉토리로 간다.

    • docker-compose up -d 를 입력해서 docker-compose.yml 파일을 실행해준다.
      백그라운드로 실행하고 싶을 때 ▲처럼 옵션 -d를 붙인다.
  • docker ps -a Docker 컨테이너 목록 출력을 해본다.

    image

    이런 식으로 나오면 생성 완료!
    이 사진처럼 만약 STATUS가 Exited 라면 docker start [컨테이너 명] 혹은 docker restart [컨테이너 명]를 입력해준다.
    반대로 멈추고 싶을 때는 docker stop [컨테이너 명]을 입력한다.

  • docker exec -it [컨테이너명] bash입력하여 컨테이너를 bash 쉘로 접속한다. (컨테이너 start하고 접속하기!)

    image
  • 위 화면이 성공적으로 나왔다면, 마지막으로 mysql -u root -p 입력 후 Enter!
    password 입력창이 나올텐데,
    docker-compose.yml 파일의 MYSQL_ROOT_PASSWORD에 설정한 비번을 입력하면 접속이 된다!

    image
참고로 docker-compose.yml은 다시 켤때마다 실행하지 않아도 된다.
docker 컨테이너만 start하고 exec로 bash 쉘에 접속한 뒤 mysql 접속하면 된다!



참고 자료