How to run MongoDB and Mongo-express with docker-compose?

前端 未结 8 2096
情话喂你
情话喂你 2021-02-14 07:10

I try to run MongoDB and Mongo-express by Docker-compose. I use following config:

version: \'3\'

services:
    mongo:
        image: mongo
        environment:
         


        
相关标签:
8条回答
  • 2021-02-14 08:00

    Mongo-express changed the user and pass ENV keywords:

    OLD:

    - ME_CONFIG_MONGODB_AUTH_USERNAME=${MONGO_ROOT_USER}
    - ME_CONFIG_MONGODB_AUTH_PASSWORD=${MONGO_ROOT_PASSWORD}
    

    NEW:

     - ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USER}
     - ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD}
    

    reference: https://hub.docker.com/_/mongo-express

    0 讨论(0)
  • 2021-02-14 08:11

    The simplest way is run docker-compose up -d in directory with docker-compose.yml:

    version: "3"
    services:
      mongo:
        image: "mongo:3-stretch"
      mongo-express:
        image: "mongo-express:latest"
        ports:
          - "8081:8081"
    

    And then open http://localhost:8081/ in your browser.

    0 讨论(0)
  • 2021-02-14 08:12

    it works in my mac. If you delete docker-compose containers and rebuild, maybe it will work. I added my files. Only i changed mongo-express port.

    .env

    MONGO_ROOT_USER=devroot
    MONGO_ROOT_PASSWORD=devroot
    MONGOEXPRESS_LOGIN=dev
    MONGOEXPRESS_PASSWORD=dev
    

    docker-compose.yml

    version: '3'
    
    services:
        mongo:
            image: mongo
            environment:
                - MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER}
                - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
                - MONGO_INITDB_DATABASE=project
        mongo-express:
            image: mongo-express
            environment:
                - ME_CONFIG_MONGODB_SERVER=mongo
                - ME_CONFIG_MONGODB_PORT=27017
                - ME_CONFIG_MONGODB_ENABLE_ADMIN=false
                - ME_CONFIG_MONGODB_AUTH_DATABASE=admin
                - ME_CONFIG_MONGODB_AUTH_USERNAME=${MONGO_ROOT_USER}
                - ME_CONFIG_MONGODB_AUTH_PASSWORD=${MONGO_ROOT_PASSWORD}
                - ME_CONFIG_BASICAUTH_USERNAME=${MONGOEXPRESS_LOGIN}
                - ME_CONFIG_BASICAUTH_PASSWORD=${MONGOEXPRESS_PASSWORD}
            depends_on:
                - mongo
            ports:
              - "8888:8081"
    

    Docker Version

    Client:
     Version:           18.06.0-ce
     API version:       1.38
     Go version:        go1.10.3
     Git commit:        0ffa825
     Built:             Wed Jul 18 19:05:26 2018
     OS/Arch:           darwin/amd64
     Experimental:      false
    
    Server:
     Engine:
      Version:          18.06.0-ce
      API version:      1.38 (minimum version 1.12)
      Go version:       go1.10.3
      Git commit:       0ffa825
      Built:            Wed Jul 18 19:13:46 2018
      OS/Arch:          linux/amd64
      Experimental:     true
    
    0 讨论(0)
  • 2021-02-14 08:12

    This is very useful things but same time unstable. You need find out your own way How to write docker-compose.yml For me It's was works something like that

    version: '3'
    services:
      db:
        image: mongo:2.6.12
        container_name: app_db
        volumes:
          - store:/data/db
        ports:
          - "27017:27017"
      mongo-express:
        container_name: mongo-express
        links:
          - 'db:mongo'
        ports:
          - '8081:8081'
        environment:
          - 'ME_CONFIG_OPTIONS_EDITORTHEME=ambiance'
          - 'ME_CONFIG_BASICAUTH_USERNAME=user'
          - 'ME_CONFIG_BASICAUTH_PASSWORD=pass'
        image: mongo-express 
    
    0 讨论(0)
  • 2021-02-14 08:12

    Although this post is bit old. I would like to share the docker-compose.yml that worked for me.

    The below spins up a mongoDB instance and mongo-express.

    version: '3.7'
    services:
      mongo_db:
        image: mongo:4.2.12
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: rootpassword
        ports:
          - 27017:27017
        volumes:
          - /C/Mine/mongoData:/data/db
    
      mongo_express:
        image: mongo-express:0.54.0
        environment:
          - ME_CONFIG_OPTIONS_EDITORTHEME=default
          - ME_CONFIG_MONGODB_SERVER=mongo_db
          - ME_CONFIG_MONGODB_PORT=27017
          - ME_CONFIG_MONGODB_ENABLE_ADMIN=true
          - ME_CONFIG_MONGODB_AUTH_DATABASE=mydb
          - ME_CONFIG_MONGODB_ADMINUSERNAME=root
          - ME_CONFIG_MONGODB_ADMINPASSWORD=rootpassword
        ports:
          - "8081:8081"
        restart: on-failure
        depends_on:
          - mongo_db
    
    0 讨论(0)
  • 2021-02-14 08:14

    Running it like this just worked for me maybe it helps you

          mongoex:
            image: mongo-express
            environment:
            - ME_CONFIG_OPTIONS_EDITORTHEME=ambiance
            - ME_CONFIG_MONGODB_SERVER=database
            - ME_CONFIG_MONGODB_PORT=27017
            - ME_CONFIG_MONGODB_ENABLE_ADMIN=false
            - ME_CONFIG_MONGODB_AUTH_DATABASE=admin
            ports:
            - "8081:8081"
            links:
            - database
          database:
            image: mongo:latest
            command: --smallfiles
            ports:
              - "27017:27017"
    

    good luck and regards!

    0 讨论(0)
提交回复
热议问题