docker安装单服务mongoDb 并设置密码

2024-06-05 15:59:32 浏览数 (2)

1.用 docker search mongo 命令来查看可用版本

代码语言:txt复制
$ docker search mongo
NAME                              DESCRIPTION                      STARS     OFFICIAL   AUTOMATED
mongo                             MongoDB document databases ...   1989      [OK]       
mongo-express                     Web-based MongoDB admin int...   22        [OK]       
mvertes/alpine-mongo              light MongoDB container          19                   [OK]
mongooseim/mongooseim-docker      MongooseIM server the lates...   9                    [OK]
torusware/speedus-mongo           Always updated official Mon...   9                    [OK]
jacksoncage/mongo                 Instant MongoDB sharded cluster  6                    [OK]
mongoclient/mongoclient           Official docker image for M...   4                    [OK]
jadsonlourenco/mongo-rocks        Percona Mongodb with Rocksd...   4                    [OK]
asteris/apache-php-mongo          Apache2.4   PHP   Mongo   m...   2                    [OK]
19hz/mongo-container              Mongodb replicaset for coreos    1                    [OK]
nitra/mongo                       Mongo3 centos7                   1                    [OK]
ackee/mongo                       MongoDB with fixed Bluemix p...  1                    [OK]
kobotoolbox/mongo                 https://github.com/kobotoolb...  1                    [OK]
valtlfelipe/mongo                 Docker Image based on the la...  1                    [OK]

2.取最新版的 MongoDB 镜像(修改latest为指定版本号)

代码语言:txt复制
$ docker pull mongo:latest               

3.查看本地镜像

代码语言:txt复制
$ docker images               

4.运行容器

代码语言:txt复制
$ docker run -itd --name mongo-test -v /opt/data:/data/db -p 27017:27017 mongo --auth               

-v /opt/data:/data/db :容器内的目录映射到本地,这样容器即使删除了数据也仍然在,/data/db为容器数据目录,/opt/data为宿主机文件夹,这样配置后,即使停掉docker或者rm调docker再启动,数据依然存在。

5.接着使用以下命令添加用户和设置密码,并且尝试连接。

代码语言:txt复制
$ docker exec -it mongo-test mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'P6ss123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', 'P6s123456')            

6.修改密码

代码语言:txt复制
use admin; 
switched to db admin
 > db.changeUserPassword('admin','P6s123456'); 

0 人点赞