MongoDB 是一种开源的 NoSQL 数据库系统,具有高性能、高可用性、易扩展等特点,被广泛应用于 Web 开发中。而 Docker 是一种轻量级的虚拟化技术,可以将应用程序和其依赖的库封装到一个可移植的容器中,方便在不同环境中部署和运行。结合起来,MongoDB 在 Docker 中的安装和部署可以极大地简化系统配置和维护的流程。
Docker 安装和配置
首先,需要在目标服务器上安装 Docker。以 Ubuntu 操作系统为例,使用以下命令安装 Docker:
sudo apt-get update sudo apt-get install docker.io
安装完成后,可以启动 Docker 服务并设置开机自启:
sudo systemctl start docker sudo systemctl enable docker
MongoDB 镜像获取
Docker 使用镜像(Image)来生成容器(Container),而 MongoDB 官方提供了官方镜像,我们可以从 Docker Hub 中获取官方 MongoDB 镜像。使用以下命令拉取 4.4 版本的 MongoDB 镜像:
sudo docker pull mongo:4.4
MongoDB 容器创建和运行
拉取成功后,使用以下命令启动 MongoDB 容器:
sudo docker run -d --name mongo-db -p 27017:27017 mongo:4.4
-d
:表示在后台运行容器;--name mongo-db
:指定容器的名称为 mongo-db;-p 27017:27017
:将容器内的 27017 端口映射到主机的 27017 端口(MongoDB 默认端口);mongo:4.4
:使用已经拉取的 4.4 版本的 MongoDB 镜像创建容器。
可以使用以下命令查看容器运行状态:
sudo docker ps
其中,CONTAINER ID
是 MongoDB 容器的唯一标识符。
MongoDB Shell 连接
MongoDB 容器成功运行后,可以使用 MongoDB Shell 连接数据库。首先,使用以下命令开启 MongoDB Shell:
sudo docker exec -it mongo-db mongo
其中,-it
表示使用交互式终端;mongo-db
是容器的名称。
开启成功后,可以在控制台执行 Shell 命令,例如:
use admin db.createUser( { user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] } )
这个示例命令创建了一个名为 admin
,密码为 password
的管理员用户。
数据挂载
为了保证数据持久化,MongoDB 的数据可以挂载到宿主机的文件系统中。使用以下命令创建数据挂载点:
sudo docker volume create mongo-data
这个命令创建了一个名为 mongo-data 的 Docker Volume。
然后,将数据挂载到容器内的 /data/db
目录:
sudo docker run -d --name mongo-db -p 27017:27017 -v mongo-data:/data/db mongo:4.4
这个命令在启动容器时,将创建的 Docker Volume mongo-data
挂载到容器内的 /data/db
目录。
总结
通过在 Docker 中安装和部署 MongoDB,可以提高系统配置和维护的效率,同时也能够实现数据的持久化和管理。本文介绍了 Docker 的安装和配置、MongoDB 镜像获取和容器的创建运行、MongoDB Shell 连接和数据挂载等操作步骤,并提供了详细的命令示例,希望对读者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a8cf89add4f0e0ff20733a