为多个开发人员和生产用途设置 MongoDB

为多个开发人员和生产用途设置 MongoDB

我听说Docker是将用户与实际生产分开的方法。是否有可能进一步分离并安装单独的MongoDB数据库而不影响原有数据库?

我很乐意学习。提前谢谢!

答案1

你可以而且应该这样做。只需创建几个环境,例如用于开发、测试、并用于生产. 只需为每个应用创建一个 Dockerfile 即可。

一种方法可能是:

  1. 创建一个Dockerfile官方坏了,所以我创建了这个一个 PR):

    # Dockerizing MongoDB: Dockerfile for building MongoDB images
    # Based on ubuntu:18.04, installs MongoDB following the instructions from:
    # http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
    
    FROM       ubuntu:18.04
    
    # Installation:
    # Import MongoDB public GPG key AND create a MongoDB list file
    RUN apt-get update && apt-get install -y gnupg2 ca-certificates
    RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
    RUN echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list
    
    # Update apt-get sources AND install MongoDB (latest stable version)
    RUN apt-get update && apt-get install -y mongodb-org
    
    # Create the MongoDB data directory
    RUN mkdir -p /data/db
    
    # Expose port #27017 from the container to the host
    EXPOSE 27017
    
    # Set /usr/bin/mongod as the dockerized entry-point application
    ENTRYPOINT ["/usr/bin/mongod"]
    
  2. 建造

    docker build --tag my_mongodb_1 .
    
  3. 跑步

    docker run -p 27017:27017 --interactive --tty my_mongodb_1
    

要特别注意哪个用户可以访问哪个环境,因为忘记在开发人员设置上进行某些更改并最终以为您正在使用开发数据库是很常见且危险的。

这里是一篇关于如何做到这一切的好文章。

相关内容