【docker】 docker安装MongoDB数据库

张心水
2023-12-01

1、直接使用docker run 命令安装

  docker run -d --network crh_network --name some-mongo -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=example \
  mongo

-p 27017:27017 端口映射
--name some-mongo 容器名称
-e MONGO_INITDB_ROOT_USERNAME=root 账户
-e MONGO_INITDB_ROOT_PASSWORD=example 密码
--network crh_network  使用crh_network 这个docker网络,如果没有需要自己创建docker网络

如果在docker run允许MongoDB时没有创建用户,可以用以下方式创建用户

  #进入mongoDB容器
  # -it 跟容器名称 或者 容器id
  docker exec -it mongo bash
  #连接mongoDB服务
  mongo
  #尝试显示所有数据库,结果会报错
  show dbs
  #使用admin,创建超级管理员
  use admin

  db.createUser({user: "root",pwd: "example",roles: [ { role: "root", db: "admin" } ]})

2、使用docker-compose 文件创建MongoDB数据库

version: '3'
services:
  mongo:
    container_name: mongo
    image: mongo # 可以修改为自己需要的版本
    restart: always         # 是否重启
    networks:
      - crh_network
    ports:
      - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: root  # 如果密码不生效,删除映射文件
      MONGO_INITDB_ROOT_PASSWORD: example
    volumes:
      - /etc/localtime:/etc/localtime # 时区
      - ./srv/mongodb/data/db:/data/db # 挂载数据目录
      - ./srv/mongodb/data/log:/var/log/mongodb  # 挂载日志目录
      - ./srv/mongodb/data/config:/etc/mongo  # 挂载配置目录

  mongo-express:
    image: mongo-express
    container_name: mongo-ui
    restart: always
    ports:
      - 8086:8081
    networks:
      - crh_network
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/

networks:
  crh_network:
    external: true
 类似资料: