创建目录

[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数据目录为空时会执行,若未执行初始化脚本,可删除目录重新创建后执行

docker-compose安装mongo的更多相关文章

  1. 手把手教你 Docker Compose安装DOClever

    一.什么是Docker Compose以及Docker Compose的安装和使用 查看我的另外一篇博客:Docker Compose的安装和使用 二.DOClever是什么 DOClever是一个可 ...

  2. Docker Compose 安装 on centos7

    本文演示如何在CentOS7上安装Docker Compose. 1 在线安装 1.1 下载安装包 $ curl -L https://github.com/docker/compose/releas ...

  3. Docker Compose安装以及入门

    Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用. Compose 简介 Compose 项目是 Docker 官方的开源 ...

  4. 使用 docker compose 安装 tidb

    目标 : 单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群 前提条件: 1.centos版本在7.3 以上 2.安装git 3.安装docker Docker versi ...

  5. centos docker compose安装

    docker compose离线安装 通过联网机器下载docker-compose离线安装包(参见Downloads部分) https://github.com/docker/compose/rele ...

  6. docker和docker compose安装使用、入门进阶案例

    一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...

  7. Docker Compose安装部署Jenkins

    流水线可以让项目发布流程更加清晰,docker可以大大减少Jenkins配置. 1.前言 数据卷挂载到 /var 磁盘目录下,因为该磁盘空间较大,后面需要挂载容器数据卷,以防内存吃紧. 为了可以留存启 ...

  8. Docker Compose安装Registry后配置WebUI与客户端

    场景 Docker 私服Registry简介与使用Docker-Compose安装Registry: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  9. docker compose安装gitea

    docker-compose.yml version: "3.4" networks: gitea: external: false services: server: image ...

  10. Docker Compose 介绍安装

    Compose介绍 Compose是一个定义和管理多容器的工具,也是一种容器编排工具,前身是Pig,使用Python语言编写.使用Compose配置文件描述多个容器应用的架构,biubiu使用什么镜像 ...

随机推荐

  1. 墨天轮最受DBA欢迎的数据库技术文档-SQL优化篇

    [墨天轮最受欢迎的技术文档]系列文章得到了很多朋友的支持,大家也告诉了我们期待看到的主题这不!大家想看的优化系列-SQL优化篇来啦~原文文末送墨值中,欢迎大家参与! 数据库的调优被分成多个阶段,每个阶 ...

  2. 什么是 websocket和signal

    1. 需求,Web聊天,站内通知 2. 传统HTTP:只能客户端主动发送请求: 3. 传统方案:长轮询(long Polling):

  3. Spring 实现 3 种异步流式接口,干掉接口超时烦恼

    大家好,我是小富- 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable.WebAsyncTask 和 DeferredResult.CompletableFuture等均可实现 ...

  4. Gitlab私有存储库支持SourceLink 调试之使用proxy方式

    前情概要 在 让你发布的nuget包支持源代码调试#为gitlab的私有源代码项目提供支持 小节中有介绍到如何让gitlab的私有存储库支持SourceLink. 其中有一个方法是说在vs中打开web ...

  5. 报名开启|QKE 容器引擎托管版暨容器生态发布会!

    当下,"云原生"技术红利正吞噬旧秩序,重塑新世界. 但您的企业是否依然困惑:缺少运维人员或运维团队,想要专注于业务的开发,又不得不兼顾集群的日常运维:在生产环境中,为了保证业务的高 ...

  6. Nuxt.js 应用中的 builder:watch 事件钩子详解

    title: Nuxt.js 应用中的 builder:watch 事件钩子详解 date: 2024/10/24 updated: 2024/10/24 author: cmdragon excer ...

  7. nginx配置高可用的集群

    上图: (1)需要两台 nginx 服务器 (2)需要 keepalived (3)需要虚拟 ip 准备工作 配置高可用的准备工作 (1)需要两台服务器,两个Linux虚拟机即可,这里是 192.16 ...

  8. 从零开始学逆向CTF比赛,免费参加,欢迎来玩!

    大家好,我是轩辕. 告诉大家一个好消息:我准备了一次逆向CTF比赛,面向所有人开放,无需购买课程,优秀的小伙伴还有奖励,参赛方式在文末会介绍,欢迎大家一起来玩. 举办这次CTF比赛,是为了检验大家从零 ...

  9. 在美国和以色列的技术支持下BP机可以爆炸,那么苹果手机是否也可以被远程引爆

    要知道,这一切在技术上都是可以实现的. 由此可见,带电池的产品,最为稳妥的办法就是购买在中国组装的产品,否则其安全性是无法保证的.有人可能会说美国政府不会单独的通过这种方法去定向的杀害某个中国普通人, ...

  10. 20.Kubernetes可视化界面kubesphere

    Kubernetes可视化界面kubesphere 前言 Kubernetes也提供了默认的dashboard页面,但是功能不是很强大,这里就不使用了 而是采用Kubesphere大桶全部的devop ...