docker操作mongodb记录
in 默认分类 with 0 comment

docker操作mongodb记录

in 默认分类 with 0 comment

mongodb

拉取镜像(版本:4)

docker pull mongo:4

启动镜像(名称为:mymongo)

docker run --name mymongo -v /mymongo/data:/data/db --privileged=true -d mongo:4

注意:需要加--privileged=true参数,不加的话好像会因为权限不足无法挂载到服务器文件夹下

进入 mongo shell

docker exec -it mymongo mongo

添加WEB控制界面

docker run --link mymongo:mongo -p 8081:8081 -d mongo-express

访问WEB控制界面

http://127.0.0.1:80801

设置复制集(myset)

启动mongo1

名称:mongo1,端口:27017

docker run --net mynetwork --name mongo1 -v /mymongo/data1:/data/db -p 27017:27017 --privileged=true -d mongo:4 --replSet myset --port 27017

启动mongo2

名称:mongo2,端口:27018

docker run --net mynetwork --name mongo2 -v /mymongo/data2:/data/db -p 27018:27018 --privileged=true -d mongo:4 --replSet myset --port 27018

启动mongo3

名称:mongo3,端口:27019

docker run --net mynetwork --name mongo3 -v /mymongo/data3:/data/db -p 27019:27019 --privileged=true -d mongo:4 --replSet myset --port 27019

进入mongo1的shell

docker exec -it mongo1 mongo

配置复制集

rs.initiate(
    {
        _id:"myset",
        members:[
            {
                _id:0,
                host:"mongo1:27017"
            },
            {
                _id:1,
                host:"mongo2:27018"
            },
            {
                _id:2,
                host:"mongo3:27019"
            }
        ]
    }
)

查看复制集状态

rs.status();
Responses