본문 바로가기

Tech/Tips

Docker로 Mariadb, Postgresql, PGAdmin, Redis 구동하기

반응형

이미지 출처 : Pixabay

안녕하세요!

telegraf로 시스템 정보를 모니터링하기 전에, 각종 개발 테스트를 위해 서버에 mariadb, postgresql, redis를 띄웠습니다.

하나하나 docker run ~ 로 띄우기에는 너무 관리가 힘들어서, docker-compose 파일을 작성하였는데, 해당 파일을 공유합니다.

 

아래 docker-compose 파일을 구동하기 전에 미리 docker create network database 명령어를 통하여 database 네트워크를 생성해 줍니다.

version: '3'
services:

  mariadb:
    container_name: mariadb
    image: mariadb:latest
    ports:
     - 3306:3306
    networks:
     - default
    volumes:
     - /usr/share/data/mariadb/conf:/etc/mysql
     - /usr/share/data/mariadb/data:/var/lib/mysql
    environment:
     - MYSQL_ROOT_PASSWORD={{YOUR_PASSWORD}}
     - TZ=Asia/Seoul
    restart: always
    privileged: true

  redis:
    container_name: redis
    image: redis:latest
    ports:
     - 6379:6379
    networks:
     - default
    volumes:
     - /usr/share/data/redis/conf:/usr/local/etc/redis
     - /usr/share/data/redis/data:/data
    environment:
     - TZ=Asia/Seoul
    restart: always
    privileged: true
    command: redis-server /usr/local/etc/redis/redis.conf

  postgresql:
    container_name: postgresql
    image: postgres:latest
    ports:
     - 5432:5432
    networks:
     - default
    volumes:
     - /usr/share/data/postgresql/data:/var/lib/postgresql/data
     - /usr/share/data/postgresql/conf:/etc/postgresql
    environment:
     - TZ=Asia/Seoul
     - POSTGRES_USER={{YOUR_USERNAME}}
     - POSTGRES_PASSWORD={{YOUR_PASSWORD}}
    restart: always
    privileged: true

  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
     - 80:80
    networks:
     - default
    environment:
     - TZ=Asia/Seoul
     - PGADMIN_DEFAULT_EMAIL={{YOUR_PGADMIN_USER_EMAIL}}
     - PGADMIN_DEFAULT_PASSWORD={{YOUR_PASSWORD}}
    restart: always
    privileged: true

networks:
  default:
    external:
      name: databases

 

이렇게 실행하면 redis는 오류를 뱉을 텐데요, 위에서 지정해 준 레디스 conf 경로인 /usr/share/data/redis/conf 에 redis.conf 파일을 생성해 줍니다.

 

redis.conf 파일 : 

redis.conf
0.08MB

공식 다운로드 링크 : download.redis.io/redis-stable/redis.conf

 

상세 설정은 redis 공식 문서를 참조해 주시기 바랍니다.

 

Redis configuration – Redis

*Redis configuration Redis is able to start without a configuration file using a built-in default configuration, however this setup is only recommended for testing and development purposes. The proper way to configure Redis is by providing a Redis configur

redis.io

이렇게 하면 mariadb, postgresql, pgadmin, redis 세 개의 DB가 구동됩니다.

한 가지 참조하실 점은 redis.conf에서 localhost만 접근 가능하도록 설정해 버리면 docker bridge network를 통하여 접속이 불가능해지니 모든 네트워크 대역에서 접근 가능하게 설정하되 포트를 변경하거나 비밀번호를 설정하는 것을 권장드립니다.

 

반응형