下面是关于“docker中使用mongodb数据库详解(在局域网访问)”的完整攻略,包括步骤、示例及注意事项等。
步骤:
- 下载并安装Docker及Docker-compose
Docker可以从官网https://www.docker.com/get-started下载对应系统的安装包进行安装。Docker-compose也同样可以从官网https://docs.docker.com/compose/install/下载对应系统的安装包进行安装。
- 拉取Docker Hub上的MongoDB镜像
可以在命令行窗口输入:
bash
docker pull mongo
如果在中国大陆下载速度慢可以使用DaoCloud加速器
bash
docker pull daocloud.io/library/mongo
- 创建docker-compose.yml文件(示例见下文)
在创建docker-compose.yml文件时,可以指定MongoDB端口、用户名、密码等信息。
- 启动docker-compose
在创建docker-compose.yml文件完成后,在命令行中输入:
bash
docker-compose up -d
此命令将启动docker容器中的MongoDB服务
- 将MongoDB连接到局域网
默认情况下,MongoDB只能在本机访问。要在局域网中访问MongoDB,需要在docker-compose.yml文件中添加端口映射,例如:
yml
version: '3.1'
services:
mongodb:
image: mongo
container_name: mongodb
restart: always
ports:
- "27017:27017" # 指定映射端口
这里将27017端口映射到了docker主机的27017端口
- 使用第三方工具连接MongoDB
在局域网中可以使用Robo 3T等MongoDB可视化工具连接MongoDB。打开Robo 3T,创建一个新的连接,在连接信息中填写IP地址和端口号,用户名和密码,即可连接到docker中的MongoDB服务。
示例:
- 创建docker-compose.yml文件
yml
version: '3.1'
services:
mongodb:
image: mongo
container_name: mongodb
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
ports:
- "27017:27017" # 指定映射端口
在这个示例中,我们指定了27017端口映射到了docker主机的27017端口,并指定了MongoDB的用户名和密码。
- 使用Robo 3T连接MongoDB
打开Robo 3T,创建一个新的连接,在连接信息中填写docker主机的IP地址和端口号(27017),用户名和密码“admin/password”,即可连接到docker中的MongoDB服务。
注意事项:
- Docker和Docker-compose的版本必须是最新的稳定版本
- 在创建docker-compose.yml文件中,需要指定MongoDB的用户名和密码
- 在对MongoDB端口进行映射时,需要注意安全性问题,避免对外暴露mongodb服务
- 在连接MongoDB时,用户名和密码必须填写正确才能登录成功
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:docker中使用mongodb数据库详解(在局域网访问) - Python技术站