docker中安装mongo3.2

Posted 涂宗勋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker中安装mongo3.2相关的知识,希望对你有一定的参考价值。

今天在虚拟机中用docker安装了mongo最近版和mongo3.2,旨在巩固docker的使用,也为了后续mongodb的一些技术验证。
相对于最新版,指定3.2版本的安装会有一些细节不太一样,再考虑到实际应用中可能指定版本的需求更多一些,因此这里仅记录3.2的安装验证过程,以备忘。

镜像拉取

使用docker的第一步是启动docker,启动以后可以先单独拉取镜像,也可以使用run命令,run的时候如果没有找到镜像,也会自动取下载。但是这里为了巩固docker的操作,还是选择分开执行拉取和运行。
镜像拉取操作如下:

docker image pull mongo:3.2

拉取过程中会有相应的日志输出,最终日志结果类似下边这样:

3.2: Pulling from library/mongo
a92a4af0fb9c: Pull complete 
74a2c7f3849e: Pull complete 
927b52ab29bb: Pull complete 
e941def14025: Pull complete 
be6fce289e32: Pull complete 
f6d82baac946: Pull complete 
7c1a640b9ded: Pull complete 
e8b2fc34c941: Pull complete 
1fd822faa46a: Pull complete 
61ba5f01559c: Pull complete 
db344da27f9a: Pull complete 
Digest: sha256:0463a91d8eff189747348c154507afc7aba045baa40e8d58d8a4c798e71001f3
Status: Downloaded newer image for mongo:3.2
docker.io/library/mongo:3.2

查看镜像

镜像拉取完后,可以查看本地镜像库进一步验证,命令如下:

docker images

执行结果如下:

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
mongo         latest    c1a14d3979c5   9 days ago     691MB
hello-world   latest    d1165f221234   7 months ago   13.3kB
mongo         3.2       fb885d89ea5c   2 years ago    300MB

由于我在安装docker时为了测试拉取过一个hello-world,并且在安装mongo3.2之前先安装了最新版,因此可以看到镜像库中当前有三个镜像。

运行

镜像拉取之后就可以运行镜像启动容器,命令如下:

docker run -itd --name mongo32 -p 27018:27017 mongo:3.2 --auth

上边命令省略了contaner参数,也可以使用docker container run -itd --name mongo32 -p 27018:27017 mongo:3.2 --auth
这个命令的意思是,后台启动一个容器名称为mongo32的容器,使用镜像名称为mongo同时tag为3.2的镜像,启动后容器内程序的端口是27017,映射到外部机器的端口是27018,同时开启用户验证。

查看运行的容器

docker运行容器的时候不一定都是成功的,可以查看运行中的容器,如果执行了运行命令,但是在运行的容器中查不到,可能就是启动失败,需要查日志。查看运行容器命令如下:

docker container ls

执行结果如下:

CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                                           NAMES
3f4d2c6bf4bf   mongo:3.2   "docker-entrypoint.s…"   6 seconds ago   Up 5 seconds   0.0.0.0:27018->27017/tcp, :::27018->27017/tcp   mongo32

创建mongo用户名和密码

上边启动的时候开启了用户验证,但是现在还没有用户名和密码,所以需要创建和设置mongo用户名密码,先执行docker命令进入mongo shell中:

docker exec -it mongo32 mongo admin

然后在mongo shell中创建一个用户名并设置密码:

db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});

robo 3T连接验证



以上是关于docker中安装mongo3.2的主要内容,如果未能解决你的问题,请参考以下文章

在 docker 容器中安装 CMake 时出错。找不到 PROTOBUF

wsl中安装docker

如何在docker中安装vsftp

如何在ubunto中安装docker

Linux中安装Docker,在Docker中安装MySQL和Redis并在Windows下连接访问

如何在 sles 12 中安装 docker?