编写dockerfile配置文件

version: '3'

services:
  mongo:
    image: mongo
    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: #数据卷映射
   #   - ./mongoData/configdb/mongod.conf.orig:/etc/mongod.conf.orig  #这里做配置文件的映射,想通过配置文件开启数据库的权限验证,但好像没有效果,后面在研究下
      - ./mongoData/data:/data/db
      - ./mongoData/logs/:/var/log/mongodb
    command: [--auth] #开启mongo验证

  mongo-express:
    image: mongo-express
    container_name: mongo-express
    restart: always
    links:
      - mongo:mongo
    depends_on:
      - mongo
    networks:
      - db
    ports:
      - "8081: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

创建数据目录

mkdir mongoData/

启动monodb容器

[root@otcdatabases-postgresql-test-192-168-1-48 monogdb]# docker-compose up -d
Pulling mongo (mongo:)...
Trying to pull repository docker.io/library/mongo ... 
latest: Pulling from docker.io/library/mongo
16ec32c2132b: Pull complete
6335cf672677: Pull complete
cbc70ccc8ebe: Pull complete
0d1a3c6bd417: Pull complete
960f3b9b27d3: Pull complete
aff995a136b4: Pull complete
4249be7550a8: Pull complete
cc105ff5aa3c: Pull complete
82819807d07a: Pull complete
81447d2c233f: Pull complete
Digest: sha256:54d24682d00278f64bf21ff62b7ee62b59dae50f65139831a884b345922b0f8a
Status: Downloaded newer image for docker.io/mongo:latest
Pulling mongo-express (mongo-express:)...
Trying to pull repository docker.io/library/mongo-express ... 
latest: Pulling from docker.io/library/mongo-express
ddad3d7c1e96: Pull complete
e92e929eb7fb: Pull complete
ce63225989e7: Pull complete
23fe03483ac7: Pull complete
096c6874e752: Pull complete
9a9f200e8faa: Pull complete
5dc84b53bb50: Pull complete
1d01e6ccb1c1: Pull complete
Digest: sha256:0675ef769d8138271713a05e9eaacfad1af2e578d483819b14ec12e2d942ebba
Status: Downloaded newer image for docker.io/mongo-express:latest
Creating mongo ... done
Creating mongo-express ... done
授权相关命令
```bash
db.createUser({
     user:'root',
     pwd:'123456',
     roles:[
         {
             role:'read',
             db:'aitdtest'
         },
         {
             role:'readWrite',
             db:'aitdtest'
         },
         {
             role:'dbAdmin',
             db:'aitdtest'
         },
         {
             role:'dbOwner',
             db:'aitdtest'
         },
         {
             role:'userAdmin',
             db:'aitdtest'
         }
     ]
 })
 
 
 
db.createUser({
     user:'root',
     pwd:'123456',
     roles:[
         {
             role:'read',
             db:'aitd'
         },
         {
             role:'readWrite',
             db:'aitd'
         },
         {
             role:'dbAdmin',
             db:'aitd'
         },
         {
             role:'dbOwner',
             db:'aitd'
         },
         {
             role:'userAdmin',
             db:'aitd'
         }
     ]
 })
 
 db.revokeRolesFromUser("root", [
         {
             role:'read',
             db:'aitd'
         },
         {
             role:'readWrite',
             db:'aitd'
         },
         {
             role:'dbAdmin',
             db:'aitd'
         },
         {
             role:'dbOwner',
             db:'aitd'
         },
         {
             role:'userAdmin',
             db:'aitd'
         }
     ]
 )
 
db.getUsers();
db.system.users.find();

db.getCollection("blockHeight").insert( {
    _id: NumberLong("102"),
    coin: "ETH",
    latestHeight: NumberLong("1000"),
    localHeight: NumberLong("2000"),
    _class: "com.tqxd.aitd.browser.job.entity.BlockHeight"
} );

更多推荐