docker部署mongodb并在本地连接

1,601 阅读2分钟

使用虚拟机运行centerOS7模拟服务器,由于不能占用内网IP,虚拟机采用NAT方式连接,所有服务端口需要做映射

首先设置虚拟机的静态IP:

1.打开虚拟网络 ,配置DHCP

在后面设置的IP需要在这个范围段内

2.配置虚拟机NAT模式下的虚拟网络的IP地址

3.配置网关,在下方的端口转发,可以通过宿主机的对应端口访问虚拟机的端口

4.配置centOS的网络配置

在centOS里,打开这个文件,配置IP等信息

ip是自己配的,需要在以上DHCP配置的ip段内,网关输入NAT配置里的,NDS根据需求设置。配置完毕后执行以下代码重启网络。

service network start

配置完毕后,宿主机和虚拟机互PING以下检查网络时候联通。

2.DOCKER安装MONGO

https://www.cnblogs.com/molice/p/15148900.html

docker安装教程

docker指令
启动:systemctl start docker停止systemctl stop docker# 列出本机的所有 image 文件。docker image ls# 删除 image 文件docker image rm [imageName]#运行docker程序docker container run ~#重启docker,已停止的docker重新激活docker restart ~#终止docker程序docker container kill [containID]#删除docker容器,因为停止了依旧占用内存$ docker container rm [containerID]# 列出本机正在运行的容器$ docker container ls# 列出本机所有容器,包括终止运行的容器$ docker container ls --all

1.使用docker安装mongo

docker pull mongo:latest

2.运行mongo

docker run -p 27017:27017 -v /etc/mongodata:/data/db --name mongodb -d mongo
-v指定数据库数据存放位置

启动后如图。若关闭虚拟机,下次想重新启动服务使用docker restart ~

3.在NAT配置里面设置端口映射,例如我设置了宿主机17017->27017

4.使用robo3T测试连接。如果连接超时,ping以下看看网络是否连通,查看下docker container

3.配置mongo

1.进入容器

docker exec -it 容器ID bash
mongo 127.0.0.1:27017

2.建立root管理员

db.createUser(	{	user:  "root",	pwd:  "xxxxx",		roles:  [ { role: "root", db: "admin" } ]	})

3.建立一个数据库

在bash中切到这个库

use LargescreenV1

为这个库添加用户

db.createUser({
user:  "Largescreen",
pwd:  "147258",	
roles:  ["readWrite"]})

*当前数据库认证并没有生效,在没有docker-compose加持下,需要将容器删除再新建。由于数据在容器之外,所以数据不受影响。

停止并删除容器

docker kill ~id
docker rm ~id

新建容器

docker run -p 27017:27017 -v /etc/mongodata:/data/db --name mongodb -d mongo --auth

搞定!