首页 > 其他分享 >docker-compose安装mongo

docker-compose安装mongo

时间:2022-12-20 17:34:26浏览次数:35  
标签:ME compose mongo CONFIG db docker 123456 root

创建目录

[root@localhost tools]# mkdir -p /root/tools/mongo/{data,conf,init}

创建初始化用户脚本

[root@localhost mongo]# cat /root/tools/mongo/init/init.sh
#!/usr/bin/env bash
echo "Creating mongo users..."

mongo admin --host localhost -u root -p 123456 --eval "db.createUser({user:'admin',pwd:'123456',roles:[{role:'userAdminAnyDatabase',db:'admin'},{role:'readWrite',db:'test'}]});"

mongo admin -u root -p 123456 << EOF
use test
db.createCollection("logs", { autoIndexId : true })
EOF
echo "Mongo users created."

docker-compose配置文件

[root@localhost mongo]# cat docker-compose.yml 
version: '3'
services:
  mongo:
    image: mongo:4.4.6
    container_name: mongo
    hostname: mongo
    restart: always
    networks:
      - db
    ports:
      - "27017:27017"
    environment:
      TZ: Asia/Shanghai
      MONGO_INITDB_DATABASE: test
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: 123456
    volumes:
      - /etc/localtime:/etc/localtime
      - /root/tools/mongo/data:/data/db
      - /root/tools/mongo/conf:/data/configdb
      - /root/tools/mongo/init/:/docker-entrypoint-initdb.d/
    command: mongod
  mongo-express:
    image: mongo-express
    container_name: mongo-express
    restart: always
    links:
      - mongo:mongo
    depends_on:
      - mongo
    networks:
      - db
    ports:
      - "27018:8081"
    environment:
      ME_CONFIG_OPTIONS_EDITORTHEME: 3024-night
      ME_CONFIG_MONGODB_SERVER: mongo
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: 123456
      ME_CONFIG_BASICAUTH_USERNAME: root
      ME_CONFIG_BASICAUTH_PASSWORD: 123456

networks:
  db:
    driver: bridge

启动服务

[root@localhost mongo]# docker-compose up -d

注意事项

初始化脚本只有再data数据目录为空时会执行,若未执行初始化脚本,可删除目录重新创建后执行

标签:ME,compose,mongo,CONFIG,db,docker,123456,root
From: https://www.cnblogs.com/exmyth/p/16994745.html

相关文章

  • 150-docker 安装minio
    mkdirminiocdminiovidockerfiledockerfile的内容:#基础镜像FROMminio/minio#authorMAINTAINERcjq新建docker-compose.yml:cd..vidocker-compose.ymldo......
  • docker-compose 编排Net6项目,redis/mysql/nlog实战
    十年河东,十年河西,莫欺少年穷学无止境,精益求精1、新建net6webapi项目一个非常简单的net6项目,使用mysql数据库,redis做缓存   关于项目的搭建,这里不做说明,本篇主......
  • docker安装软件
    rabbitmqRabbitMQ容器:dockerrun-id--hostnamemyrabbit--namerabbitmq-p15672:15672-p5672:5672rabbitmq:3.8.1第一个-p:用于页面访问使用第二个-p:用于生产......
  • docker高级篇第二章-分布式存储之实战案例:主从容错切换迁移案例
    在上一篇,学会了3主3从的Redis集群搭建。那么接下来,我们就来学习Redis集群主从容错切换迁移案例本次案例从模拟两个场景1:数据读写存储a:一个新key数据来了,是否会按照预设......
  • 如何在一个Docker中同时运行多个程序进程?
    我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一个Docker容器中运行多个进程那么基本思路是在Dockerfile的CMD或者ENTRYPOINT运......
  • mongodb数据库修复 mongodb数据库丢失恢复 mongodb数据库数据恢复 mongodb数据库文件0
    mongodb数据库修复mongodb数据库丢失恢复mongodb数据库数据恢复mongodb数据库文件0kb数据恢复客户名称保密数据类型mongodb3.0数据容量20GB故障类型强制重启服务器......
  • docker介绍及基本操作命令
    docker1.介绍#虚拟化虚拟化是一种资源管理技术,打破实体结构间的不可切割的障碍。虚拟化技术:VMware,VirtualBox,阿里云服务器,docker虚拟化技术#虚拟化相关名词 -......
  • docker镜像操作、容器操作
    dockerdocker入门#虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打......
  • docker-部署tomcat
    dockerpulltomcat:8#拉取镜像dockerrun-d-p8080:8080tomcat:8#创建容器dockerps-a#可以查看容器iddockerexec-ittomcat的容器id/bin/bash#进入容器do......
  • CentOS6.5下docker的安装及遇到的问题和简单使用
    ​​Docker​​是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很......