美文网首页
docker安装mongo

docker安装mongo

作者: 随风遣入夜 | 来源:发表于2020-06-22 17:32 被阅读0次

Docker 安装 MongoDB

MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序。

1、查看可用的 MongoDB 版本

访问 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1

可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest

image

你也可以在下拉列表中找到其他你想要的版本:

image

此外,我们还可以用 docker search mongo 命令来查看可用版本:

[root@instance-cllh86o0 sss]# docker search mongo
NAME                                DESCRIPTION                                     STARS          OFFICIAL            AUTOMATED
mongo                               MongoDB document databases provide high avai…   6973          [OK]
mongo-express                       Web-based MongoDB admin interface, written w…   715          [OK]
tutum/mongodb                       MongoDB Docker image – listens in port 27017…   230                              [OK]
bitnami/mongodb                     Bitnami MongoDB Docker Image                    121                              [OK]
mongoclient/mongoclient             Official docker image for Mongoclient, featu…   81                              [OK]
mongooseim/mongooseim               Small docker image for MongooseIM - robust a…   19frodenas/mongodb                    A Docker Image for MongoDB                      18                              [OK]
cvallance/mongo-k8s-sidecar         Kubernetes side car to setup and maintain a …   15                              [OK]
arm64v8/mongo                       MongoDB document databases provide high avai…   9centos/mongodb-32-centos7           MongoDB NoSQL database server                   8circleci/mongo                      CircleCI images for MongoDB                     8                              [OK]
webhippie/mongodb                   Docker images for MongoDB                       7                              [OK]
istepanov/mongodump                 Docker image with mongodump running as a cro…   6                              [OK]
centos/mongodb-36-centos7           MongoDB NoSQL database server                   5yeasy/mongo-connector               pipeline from a MongoDB cluster to other sys…   5                              [OK]
centos/mongodb-26-centos7           MongoDB NoSQL database server                   5eses/mongodb_exporter               mongodb exporter for prometheus                 4                              [OK]
neowaylabs/mongodb-mms-agent        This Docker image with MongoDB Monitoring Ag…   3                              [OK]
centos/mongodb-34-centos7           MongoDB NoSQL database server                   3andreasleicher/mongo-azure-backup   a docker container to backup a mongodb using…   2                              [OK]
ansibleplaybookbundle/mongodb-apb   An APB to deploy MongoDB.                       1                              [OK]
ekesken/mongo                       docker image for mongo that is configurable …   1                              [OK]
openshift/mongodb-24-centos7        DEPRECATED: A Centos7 based MongoDB v2.4 ima…   1ccitest/mongo                       CircleCI test images for Mongo                  0                              [OK]
phenompeople/mongodb                 MongoDB is an open-source, document databas…   0                              [OK]

image

在上图中可以看到我们已经安装了最新版本(latest)的 mongo 镜像。

4、运行容器

安装完成后,我们可以使用以下命令来运行 mongo 容器:

[root@instance-cllh86o0 sss]# docker run -itd --name mongo -p 27017:27017 mongo --auth
d52238e2b7e16b273d0394c240e0626d5fa03c510ca2359e1bad8d5a8e6c107e
[root@instance-cllh86o0 sss]#
[root@instance-cllh86o0 sss]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
d52238e2b7e1        mongo               "docker-entrypoint.s…"   13 seconds ago      Up 11 seconds       0.0.0.0:27017->27017/tcp            mongo
911566243ba9        mysql:5.7           "docker-entrypoint.s…"   2 months ago        Up 8 weeks          0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

参数说明:

  • -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
  • --auth:需要密码才能访问容器服务。

image

5、安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:

image

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

[root@instance-cllh86o0 sss]# docker exec -it mongo mongo admin
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f44fd222-7963-4793-ac44-b785af2a3dad") }
MongoDB server version: 4.2.8
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
Successfully added user: {
        "user" : "admin",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}
> db.auth('admin', '123456')
1
>

image

6、 客户端连接

  • 连接mongo数据库的可视化客户端很多,因为我这里有Navicat Premium 15.x 支持mongodb,所以直接用这个了,如果是云服务器安装了mongodb服务端的话,一定要去云服务器的安全组中放行27017端口


    image.png

7、创建用户

  • 一般都是再去创建一个用户来使用
#login
docker exec -it mongo mongo admin
#admin database;
use admin;
#login admin database
auth('admin','123456');
#create user and auth
db.createUser( { user: "sa", pwd: "sa", roles: [ { role: "root", db: "admin" } ] });
#换np的连接的用户名和密码

相关文章

网友评论

      本文标题:docker安装mongo

      本文链接:https://www.haomeiwen.com/subject/uxhffktx.html