Docker-compose部署MongoDB一键启停

Docker-compose部署MongoDB一键启停

准备工作

需要安装Docker以及Docker-compose
如果没有安装的话,请看我的另外一篇文章:docker学习之基于ubuntu的环境搭建

编写docker-compose.yml文件

version: "3"
services:
  mongo:
  # 镜像名称,不写版本号的话默认拉取最近的版本
    image: mongo
    # 端口映射
    ports:
    # 宿主机端口:容器端口
    - 27017:27017
    # 容器数据挂载,持久化
    volumes:
    # 宿主机目录:容器目录:读写权限
    - ./mongo:/data/db:rw
    - ./configdb:/data/configdb:rw
    # 设置环境变量
    environment:
    - TZ=Asia/Shanghai
    # 容器名称
    container_name: mongo

部署

按自己的实际需要,编写以上yml文件,然后在当前目录使用以下命令进行部署:docker-compose up -d
在当前目录,使用docker-compose ps命令,查看是否启动成功。
在这里插入图片描述
看到State处为Up则为启动成功,然后就可以使用图形化工具进行连接了。
当然也可以通过使用docker命令进入mongo shell中进行测试操作。
在docker-compose.yml同目录下,使用以下命令进入mongo shell:

docker-compose exec mongo mongo

第一个mongo为容器名称,即yml中的container_name。
第二个mongo为MongoDB的shell启动命令。
在这里插入图片描述
这样就进入了mongo shell中,可以使用mongo的命令进行操作。

停止MongoDB服务

在docker-compose.yml目录中,使用docker-compose stop命令,即可停止MongoDB服务。如果想要再次启动则执行docker-compose start或者docker-compose up -d都可以开启。

使用docker-compose部署MongoDB的详细步骤如下: ### 安装前准备 - 下载镜像:使用`docker pull mongo:5.0.14`命令下载MongoDB 5.0.14版本的镜像。 - 创建目录:在Linux系统中,使用`mkdir -p /usr/local/docker/mongodb/db`命令新建一个mongo文件夹。 - 进入目录并创建文件:使用`cd /usr/local/docker/mongodb`命令进入该目录,然后使用`touch docker-compose.yml`命令创建`docker-compose.yml`文件 [^1]。 ### 编写docker-compose.yml文件 以下是一个示例的`docker-compose.yml`文件: ```yaml version: '3' services: mongodb: image: mongo:4.4 container_name: mongodb restart: always environment: TZ: Asia/Shanghai # MONGO_INITDB_DATABASE: test # MONGO_INITDB_ROOT_USERNAME: admin # MONGO_INITDB_ROOT_PASSWORD: admin ports: - "27017:27017" volumes: - /etc/localtime:/etc/localtime - /opt/docker-data/mongodb/data:/data/db - /opt/docker-data/mongodb/logs:/data/logs - /opt/docker-data/mongodb/config:/data/configdb # command: # - /bin/bash # - -c # - mongod --port 27017 --bind_ip_all --auth ``` [^2] ### 新建动脚本 可以创建一个名为`mongo.sh`的动脚本,内容如下: ```bash #!/bin/bash # 挂载路径 DATA_DIR=/opt/docker-data/mongodb/data LOG_DIR=/opt/docker-data/mongodb/log CONFIG_DIR=/opt/docker-data/mongodb/config # 如果目录不存在,则创建目录并设置权限 if [ ! -d "$DATA_DIR" ]; then mkdir -p "$DATA_DIR" chmod -R 777 "$DATA_DIR" fi if [ ! -d "$LOG_DIR" ]; then mkdir -p "$LOG_DIR" chmod -R 777 "$LOG_DIR" fi if [ ! -d "$CONFIG_DIR" ]; then mkdir -p "$CONFIG_DIR" chmod -R 777 "$CONFIG_DIR" fi ``` [^3] ### MongoDB服务 在`docker-compose.yml`文件所在目录下,使用`docker-compose up -d`命令MongoDB服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值