docker 创建server端本地服务器

第一,安装docker

https://hub.docker.com/?overlay=onboarding

第二,拉去mongo镜像

1
docker pull mongo:latest    拉去镜像

第三 查看本地镜像

使用以下命令来查看是否已安装了 mongo:

1
$ docker images

第四 运行容器

安装完成后,我们可以使用以下命令来运行一个 mongo 指定的容器mymongo:

1
$ docker run -itd --name mymongo -p 27017:27017 mongo --auth

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

第五 ,安装成功

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

第六 ,尝试创建一个admin 数据库进行链接

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

1
$ docker exec -it  mymongo  mongo admin

创建一个名为 admin,密码为 123456 的用户。

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

尝试使用上面创建的用户信息进行连接。

1
> db.auth('admin', '123456')

  • 但是这样创建的mongo库 没有root权限 需要重新赋予它root权限 否则会报错:
    1
    not authorized on admin to execute command

解决方案:

授予角色:

1
db.grantRolesToUser("userName", [ { role:"<role>", db: "<database>"} ])

取消角色:

1
db.grantRolesToUser("userName", [ { role:"<role>", db:"<database>"} ])

第七 创建集合

1
use admin
1
db.createCollection(name, options)
1
show collections

第八 可视化工具查看

使用Robo 3T 也可以看见可视化的节目
connection中
address: 服务器ip地址
authentication :database为你刚才创建的数据库admin
username:admin 密码:123456