본문 바로가기
linux/docker

docker-compose mariadb, redis

by 후린트 2018. 3. 6.
반응형


docker-compose 를 이용하여 mariadb와 redis 구동


docker 및 docker-compose 설치 방법 

db.yml 파일 생성

#---------------------------  start 
version : '2'


services:
# mariadb 설정
  mariadb:
    image: mariadb:10.3 #mariadb 10.3 버전
    container_name: compose-maria #container_name 설정
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=roqkf123$
    # docker로 생성된 data를 영구적으로 보관하기 위해서 local서버의 디렉토리를  docker의 디렉토리와  mount 시킨다.
    # mariadb의 변경된 data는 /data/apps/dbdata 디렉토리에 저장된다.
    volumes:
      - /data/apps/dbdata:/var/lib/mysql
    # 서버가 재구동 됐을 경우 자동으로 container를 실행
    restart: always
    network_mode : host

# redis 설정
  redis:
    image: redis:3.2-alpine
    ports:
      - 6379:6379
    container_name: compose-redis
    volumes:
      - /data/apps/redisdata:/data
    restart: always
    network_mode : host
#-----------------------------------------end


실행 명령어 : docker-compose -f db.yml up -d 

db.yml 파일을 생성하고 위의 명령어를 실행하면 mariadb와 redis가 
compose-mariadb, compose-redis 라는 container가 생성이 되면서 구동이 됨.
(restart:always 옵션으로 서버가 재시작이 되도 자동으로 구동이 되도록 되어 있음.)

docker-compose -f db.yml stop
docker-compose -f db.yml start
위의 명령어로 maraidb, redis를 한번에 종료 및 시작 할 수 있다.


docker-compose -f db.yml down 명령어를 통해서 container 종료 후 삭제까지 가능하다.


외부에서 접근이 가능하도록 방화벽 작업 

mariadb 방화벽 오픈

sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp

redis 방화벽 오픈

sudo firewall-cmd --permanent --zone=public --add-port=6379/tcp


방화벽 재시작

sudo firewall-cmd --reload


반응형