docker-compose部署 MongoDB + mongo-express可视化界面

1. 拉取 Mongo 镜像

docker pull mongo:4.1.6

2. 运行镜像

docker run -d --name mongodb --volume /usr/local/mongodata:/data/db -p 27017:27017 mongo:4.1.6 --auth

3. 创建root用户

进入 mongo

docker exec -it mongodb mongo

进入 admin 库并创建root用户

> use admin
switched to db admin
> show dbs
> db.createUser({user: 'root', pwd: '123', roles: [{role: "root", db: "admin"}]})
Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

4. 安装并与行mongo-express

docker run -d --name mongo-express -p 8081:8081 --link mongodb:mongo --env ME_CONFIG_MONGODB_ADMINUSERNAME='root' --env ME_CONFIG_MONGODB_ADMINPASSWORD='123' mongo-express

5 docker-compose部署:

docker-compose.yml文件

version: '3'
services:
  mongodb:
    image: mongo:4.1.6
    container_name: mongodb
    restart: always
    ports:
      - 27017:27017
    environment:
      TZ: Asia/Shanghai
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: 123
    volumes:
      - /data/db:/data/db
      - /etc/localtime:/etc/localtime

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: 123
    links:
      - mongodb:mongo

docker-compose 常用命令

部署并启动

docker-compose up -d

销毁

docker-compose down

该命令会导致ES,Kafka中的数据删除,因为在docker-compose.yml 并没有映射volume

停止/开始

docker-compose stop
docker-compose start

单独的替换某个Image,然后启动

docker rm ***
docker rmi *** 
docker-compose -f docker-compose.yml up -d aa

你可能感兴趣的:(docker)