- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- react
- 리팩터링 2판
- Refactoring
- typescript
- CSS
- TMIL
- 에러핸들링
- sql
- MariaDB
- Docker
- javascript
- 면접을 위한 cs 전공지식 노트
- 아고라스테이츠
- 알고리즘
- First Project
- 배포
- 코어 자바스크립트
- LEVEL1
- 오늘도 개발자가 안된다고 말했다
- 코딩테스트
- LEVEL 1
- java
- Git
- LEVEL 2
- mongodb
- TIL
- TWIL
- CRUD
- Err-Handling
- 프로그래머스
Archives
성장에 목마른 코린이
[DB] Docker 로 MySQL/MariaDB 세팅 본문
728x90
Docker Compose로 MySQL/MariaDB 세팅
Docker 설치 및 설정 파일 세팅
Docker와 Docker Compose 설치
맥의 경우, Docker만 설치하면 Docker Compose가 포함되어 있기에 추가로 설치해줄 필요가 없습니다.
프로젝트 내에 docker-compose.yml 생성 및 내용 추가
version: "3.7"
services:
test:
image: mariadb:10.4
container_name: test
env_file: .env
environment:
TZ: Asia/Seoul
networks:
- database
ports:
- 3306:3306
restart: always
volumes:
- ./db/conf.d:/etc/mysql/conf.d
- ./db/data:/var/lib/mysql
networks:
database:
- image: mariadb:10는 MariaDB 10 이미지를 사용한다는 의미입니다.
- ports: DB의 3306 포트를 열어준다는 의미입니다.
- volumes: Docker 컨테이너의 파일을 사용자 시스템의 파일에 연결한다는 의미입니다.
- TZ: DB의 시간대를 설정하는 용도입니다.
- volumes: 컨테이너가 삭제될 시 데이터도 날아갈 수 있기때문에, 저장소는 반드시 외부로 마운트를 해줘야 합니다.
- /etc/mysql/conf.d는 MySQL/MariaDB의 설정 파일이 위치하는 경로입니다.
- /var/lib/mysql은 DB의 데이터가 파일 형태로 저장되는 공간입니다
.env 파일 생성 및 내용 추가
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=password
MYSQL_DATABASE=test
MYSQL_USER=tester
MYSQL_PASSWORD=password
db라는 빈 디렉터리 생성
docker-compose.yml가 위치한 디렉터리에 말그대로 db라는 빈 디렉터리를 생성하면 됩니다.
Docker MySQL/MariaDB 컨테이너 생성 및 실행
Docker에 MySQL/MariaDB 컨테이너 생성
$ docker-compose up
백그라운드에서 실행 시 up 뒤에 옵션 -d
를 추가해주면됩니다.
MySQL/MariaDB 컨테이너 bash 쉘 접속
$ docker exec -it test bash
test를 한 이유는 아까 docker-compose.yml 파일에서 컨테이너 이름을 test로 지정해줬기 때문입니다.
MySQL/MariaDB 서버 접속
$ mysql -u root -p
mysql > [.env파일에 있는 패스워드]
'데이터베이스' 카테고리의 다른 글
[DB] ADVANCED (서브쿼리, SQL 종류, DB 정규화) (0) | 2022.04.11 |
---|---|
[DB] 생성, 기본 문법 (CREATE, SHOW, DESC, DROP, ALTER) (0) | 2022.04.09 |
[DB] SQL 내장함수 (0) | 2022.04.09 |
[DB] 헷갈리는 DB 조작 (INSERT, UPDATE, JOIN) (0) | 2022.04.09 |
[DB] DB 조작 (SELECT, WHERE, LIKE, IN, ORDER BY) (0) | 2022.04.09 |
Comments