Docker 安装 MongoDB

Keva
阅读 67

如果您已经安装了Docker,可以使用以下命令来列出所有可用的MongoDB镜像

docker search mongo

这将显示所有与MongoDB相关的镜像及其版本信息。

拉取特定版本

使用docker pull命令来拉取特定版本的MongoDB镜像。例如,要拉取MongoDB 4.4版本,可以使用以下命令:

docker pull mongo:4.4

使用以下命令启动一个MongoDB 8.0的容器:

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
  mongo:8.0

参数说明:

-d:以后台模式运行容器。
--name mongodb:为容器指定名称为mongodb(可以根据需要更改)。
-p 27017:27017:将主机的27017端口映射到容器的27017端口,以便通过主机访问MongoDB。
-e MONGO_INITDB_ROOT_USERNAME=root:设置MongoDB的root用户名为root。
-e MONGO_INITDB_ROOT_PASSWORD=yourpassword:设置MongoDB的root用户密码为yourpassword(请将yourpassword替换为您自己的强密码)。

启动容器后,可以使用以下命令检查容器状态:

docker ps

使用Docker exec进入容器内部连接:

docker exec -it mongodb mongo -u root -p

持久化数据配置

为了确保MongoDB的数据在容器重启后不会丢失,建议将数据目录挂载到主机。例如:

docker run -d \
  --name mongodb \
  -p 27017:27017 \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=yourpassword \
  -v /path/on/host/mongodb-data:/data/db \
  mongo:8.0

使用Docker Compose

可以创建一个docker-compose.yml文件,如下所示:

version: '3.8'
services:
 mongodb:
   image: mongo:8.0
   container_name: mongodb
   restart: always
   ports:
     - "27017:27017"
   environment:
     MONGO_INITDB_ROOT_USERNAME: root
     MONGO_INITDB_ROOT_PASSWORD: yourpassword
   volumes:
     - /path/on/host/mongodb-data:/data/db

然后,在文件所在目录运行以下命令启动MongoDB:

docker-compose up -d
回到顶部