在Docker中,容器(container)是基于镜像(image)运行的实例。而容器镜像(container image)是一个轻量级、独立、可执行的软件包,其中包含运行应用程序所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

容器中的数据通常是临时性的,当容器被删除时,其中的数据也会被清除。为了使数据持久化或者与主机进行数据共享,Docker提供了卷(volume)的概念。

Docker容器卷(volume)是一个特殊的目录,它可以绕过容器的文件系统,并直接将数据存储在主机的文件系统中。通过将卷挂载到容器中,可以在容器启动和关闭时持久存储数据。这样可以使数据在容器之间共享,也可以让数据在容器删除后仍然保留。

使用卷可以在容器之间共享数据,同时也可以用来备份或恢复数据。通过卷,可以实现数据持久化以及数据共享的需求。

使用docker启动redis

  • 拉取 Redis 镜像:首先,在命令行中运行以下命令来拉取 Redis 镜像(可能有些慢):

docker pull redis:latest运行 Redis 容器:运行以下命令来启动一个 Redis 容器:

docker run --name my-redis-container -d redis连接到 Redis 容器:如果你想要连接到 Redis 容器并使用 Redis 命令行客户端进行操作,可以运行以下命令:

docker exec -it my-redis-container redis-cli这将打开 Redis 命令行客户端,你可以在其中执行 Redis 命令。

  • 执行一个redis测试:

set mykey "hello redis" // 输出:ok get mykey // 输出: hello redis

  • springboot连接redis:

docker pull mongo:latest运行 mongo 容器:运行以下命令来启动一个 mongo 容器:

docker run -d -p 27017:27017 --name mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 mongo连接到 mongo 容器:如果你想要连接到 mongo 容器并使用 mongo 命令行客户端进行操作,可以运行以下命令:

docker exec -it my-mongo-container bash这将打开 mongo 命令行客户端,你可以在其中执行 mongo 命令。

  • 登录到数据库:

mongosh -u "admin" -p "123456" --authenticationDatabase "admin"基础的mongo指令:需要注意MongoDB 6.0全面弃用了mongo而使用mongosh。 [官方说明链接:https://www.mongodb.com/docs/mongodb-shell/#the-mdb-shell-versus-the-legacy-mongo-shell](https://www.mongodb.com/docs/mongodb-shell/#the-mdb-shell-versus-the-legacy-mongo-shell )

# 创建数据库:在 MongoDB 中,只有当你插入一些数据时,数据库才会被创建。因此,你可以直接开始使用新的数据库,MongoDB 会在需要时自动创建它。 use mydatabase db.myCollection.insertOne({ key: "value" })

show dbs # 显示所有数据库

use mydatabase # 选择要使用的数据库

db.myCollection.insertOne({ key: "value" }) # 插入文档

db.myCollection.find() # 查询文档

db.myCollection.updateOne({ key: "value" }, { $set: { key: "new value" } }) # 修改文档

db.myCollection.deleteOne({ key: "value" }) # 删除文档

# 退出登录 按键 control+c # 退出bash exit