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:
- Create 
docker-compose.ymlfile and paste the selected database below. - Runs the 
$ docker-compose up -dcommand to spawn the environment. - If you're not using it, just runs 
$ docker-compose stopto stop the services or$ docker-compose downto 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
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
  
  
  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/
Redis
services:
  redis:
    image: redis:6.2.1
    ports:
      - 6379:6379
    restart: always
    
Top comments (0)