글

라벨이 yaml인 게시물 표시

Docker-Compose yaml파일을 이용하여 MySQL를 Local로 구축하기 - Database, Table 자동생성

이미지
 이전글 : Docker-Compose yaml파일을 이용하여 MySQL를 Local로 구축하기 초기 Docker Container를 생성할때 초기 상태이다. 이때 미리 데이터베이스와 각각의 테이블을 생성할수 있다. 먼저 init.sql을 작성한다. 아래는 예시 sql문이다. -- Create Users table CREATE TABLE Users ( id serial PRIMARY KEY , -- 유저 고유 ID nickname VARCHAR ( 255 ) UNIQUE NOT NULL , -- 유저 닉네임 고유값 password VARCHAR ( 255 ), -- 유저의 비밀번호 socialUser BOOLEAN , -- 소셜로그인 유저이면 true 입력 socialUserType VARCHAR ( 255 ), -- 소셜로그인 타입 ex) google email VARCHAR ( 255 ) UNIQUE NOT NULL , -- 유저의 Email refrashToken VARCHAR ( 255 ) UNIQUE , -- Access 토큰을 갱신한다. created_at DATE , updated_at DATE ); -- Create Post table CREATE TABLE Post ( id serial PRIMARY KEY , type VARCHAR ( 255 ), -- 글의 타입. (공지글, 일반글). 공지글을 관리자만 작성이 가능하다. title VARCHAR ( 255 ), -- 글의 title body TEXT , -- 글의 내용 userId INT , -- 글 작성자 count INT DEFAULT 0 , -- 조회수 (초기값은 0이다) `like` INT DEFAULT 0 , -- 좋아요 `hate` INT DEFAULT 0 , -- 싫어요 created_at DATE , updated_at DATE ); -- Create...

Docker-Compose yaml파일을 이용하여 Redis를 Local로 구축하기

이미지
  사전에 Docker및 Docker-Compose가 설치되어 있어야 합니다. mysql official docker image link : https://hub.docker.com/_/redis docker-compose로 컨테이너를 만들기전 .yaml파일을 작성합니다. # 참고 링크 : https://hub.docker.com/_/redis services : redis : # 컨테이너의 베이스가 될 이미지를 받는다(현재 docker-compose.yaml은 mysql 8.2.0버전을 사용한다.) image : redis:7.2.3 volumes : # redis의 데이터의 초기화를 방지하기 위해 볼륨으로 저장한다. - redis_data:/data #- ${REDIS_DEFAULT_CONFIG_FILE}:/usr/local/etc/redis/redis.conf # redis의 config파일. {REDIS_DEFAULT_CONFIG_FILE}에서 직접 수정 가능 # command: redis-server /usr/local/etc/redis/redis.conf # redis.conf파일을 사용시 명령을 내린다. env_file : # yaml의 상대경로로 환경변수 파일을 찾는다. - .redis.env # 아래처럼 직접 비밀번호를 입력할수 있지만 추천하지 않음 #environment: # - REDIS_PASSWORD=safePassword! command : - /bin/sh - -c # - Double dollars, so that the variable is not expanded by Docker Compose # - Surround by quotes, so that the she...

Docker-Compose yaml파일을 이용하여 MySQL를 Local로 구축하기

이미지
사전에 Docker및 Docker-Compose가 설치되어 있어야 합니다. mysql official docker image link : https://hub.docker.com/_/mysql docker-compose로 컨테이너를 만들기전 .yaml파일을 작성합니다. # ./docker-compose.yaml # services에서는 여러개의 컨테이너를 생성할수 있습니다. # 참고 링크 : https://hub.docker.com/_/mysql services : mysql : # 컨테이너의 베이스가 될 이미지를 받는다(현재 docker-compose.yaml은 mysql 8.2.0버전을 사용한다.) image : mysql:8.2.0 volumes : # mysql의 데이터의 초기화를 방지하기 위해 볼륨으로 저장한다. - mysql_data:/var/lib/mysql env_file : # yaml의 상대경로로 환경변수 파일을 찾는다. - ./.mysql.env ports : # 외부에 포트를 노출시킨다. mysql의 default포트는 3306이고 4500포트로 외부에 노출시킨다. - "4500:3306" # 네이밍 볼륨이 있을시 반드시 루트에 한번더 volumes 안에 해당 네이밍 볼륨 이름을 넣는다. volumes : # mysql은 mysql_data라는 네이밍 볼륨을 사용하기 때문에 아래에 추가해준다. mysql_data : docker-compose.yaml과 같은 경로에 .mysql.env파일 안에는 아래와 같이 유저 이름과 비밀번호를 작성하고 저장합니다. # MySQL 루트 비밀번호 MYSQL_ROOT_PASSWORD=password # MySQL 사용자 계정(선택) MYSQL_USER=alex # MySQL 사용자 비밀번호(선택) MYSQL_PASSWORD=password # MySQL 타임존 셋팅(선택). 설정하지 않을시 UTC시간으로 설정....

Docker-Compose yaml파일을 이용하여 PostgreSQL를 Local로 구축하기

이미지
 사전에 Docker및 Docker-Compose가 설치되어 있어야 합니다. postgres official docker image link : https://hub.docker.com/_/postgres docker-compose로 컨테이너를 만들기전 .yaml파일을 작성합니다. # ./docker-compose.yaml # services에서는 여러개의 컨테이너를 생성할수 있습니다. services : postgres : # 컨테이너의 베이스가 될 이미지를 받는다. (위 예제에서는 postgres:12) image : "postgres:12" # postgres의 데이터를 관리하기 위해 볼륨을 사용자가 네이밍 해서 관리한다. volumes : - data:/var/lib/postgresql/data # 환경변수(environment)를 직접 작성할수 있다. #environment: # POSTGRES_USER: alex # POSTGRES_PASSWORD: bestpassword # - POSTGRES_USER=max # 각각의 환경변수를 지정하지 않고 파일을 이용하여 지정 할수 있다. env_file : # yaml의 상대경로로 환경변수 파일을 찾는다. - ./.postgres.env # 네트워크는 default로 자동 생성해준다 #networks: # - test1_net # 외부에 포트를 노출시킨다. postgres default포트는 5432이고 4500포트로 외부 노출시킨다. ports : - "4500:5432" # 네이밍 볼륨이 있을시 반드시 루트에 한번더 volumes 안에 해당 네이밍 볼륨 이름을 넣는다. volumes : # postgres는 data라는 네이밍 볼륨을 사용하기 때문에 아래에 추가해 준다. data :...