docker-compose部署MongoDB

最近在弄接口日志这块 想着把日志放到MongoDB中 本文基于docker-compose搭建MongoDB
docker和docker-compose环境是必需的
编写docker-compose.yml文件

version: '3'
services:  
 mongodb:
      image: mongo:4.4
      container_name: mongodb
      restart: always
      environment:
        TZ: Asia/Shanghai
        # MONGO_INITDB_DATABASE: test
        # MONGO_INITDB_ROOT_USERNAME: admin
        # MONGO_INITDB_ROOT_PASSWORD: admin
      ports:
        - "27017:27017"
      volumes:
        - /etc/localtime:/etc/localtime
        - /opt/docker-data/mongodb/data:/data/db
        - /opt/docker-data/mongodb/logs:/data/logs
        - /opt/docker-data/mongodb/config:/data/configdb
        # command: 
        # - /bin/bash
        # - -c  
        # - mongod --port 27017 --bind_ip_all --auth 

使用 docker-compose up -d mongodb 命令 启动服务
docker ps 查看服务是否正常启动运行

root@hax-System-Product-Name:/home/hax/IOT/config# docker ps
CONTAINER ID   IMAGE                       COMMAND                   CREATED          STATUS          PORTS                                                                                                                                                                                                                                                                NAMES
b5ce8efcdd4f   mongo:4.4                   "docker-entrypoint.s…"   55 minutes ago   Up 55 minutes   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp                                                                                                                                                                                                                        mongodb

进入mongo容器内部

docker exec -it mongodb bash

连接mongo服务

mongo
root@b5ce8efcdd4f:/# mongo
MongoDB shell version v4.4.29
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("8cd2e34e-8b78-4e87-b716-66f4aa327ce2") }
MongoDB server version: 4.4.29

切换到默认的admin数据库 总共有admin config local 三个默认的数据库

use admin

创建root用户

> db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
Successfully added user: {
	"user" : "root",
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	]
}

整合Springboot的时候注意 yml配置 这里踩坑了 一直报 Caused by: com.mongodb.MongoCommandException: Command failed with error 18 忙活了半天

spring :
  data:
    mongodb:
      host: 127.0.0.1
      port: 27017
      database: IOT # 使用的数据库
      username: root
      password: '123456' # 密码单引号引用
      authentication-database: admin # 认证的数据库 因为我们的账号一开始都是基于这个库创建的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值