DEV Community

Ayuth Mangmesap
Ayuth Mangmesap

Posted on

The docker-compose Database Snippets for Development

Recently, I work on several projects that has different kind of databases. It requires lots of setups and managing overhead.

For development purpose, I have to setup the development environment to help my fellas mitigate the overhead of setting up their machine for each kind of database on each project.

Here are my snippets that might help you getting started to setup the dev environment quickly as possible. The snippet is just a boilerplate. You can add, edit or remove anything as you wish to match the project requirements.


Snippets

To run the snippets:

  1. Create docker-compose.yml file and paste the selected database below.
  2. Runs the $ docker-compose up -d command to spawn the environment.
  3. If you're not using it, just runs $ docker-compose stop to stop the services or $ docker-compose down to stop and remove all the services, containers, networks and images.

MySQL

services:
  database:
    image: mysql:5.7.32
    ports:
      - 3306:3306
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
    restart: always
Enter fullscreen mode Exit fullscreen mode

MariaDB

version: '3.1'

services:
  mariadb:
    image: mariadb
    restart: 'on-failure'
    ports:
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?err}
    volumes:
      - ./mariadb/data:/var/lib/mysql
Enter fullscreen mode Exit fullscreen mode

MongoDB + Mongo Expree docker-compose.yml file.

version: '3.1'

services:
  mongo:
    image: mongo
    restart: always
    volumes:
      - ./mongo/data:/data/db
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: root # change your username
      MONGO_INITDB_ROOT_PASSWORD: example # change your password

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
Enter fullscreen mode Exit fullscreen mode

Redis

services:
  redis:
    image: redis:6.2.1
    ports:
      - 6379:6379
    restart: always
Enter fullscreen mode Exit fullscreen mode

References

Top comments (0)