前言
Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
运行容器化redis数据库服务器,首先确保正确安装docker,并且已启动运行,具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配置与测试实例》。
实测环境:
1、宿主机win10,谷歌浏览器,IP地址为192.168.157.1
2、VMware Workstation pro17
3、安装1个虚拟机OpenEuler 24.03,IP地址为192.168.157.128
4、xshell7
实验思路:
虚拟机OpenEuler 24.03中安装docker,OpenEuler在这里成为docker的宿主机, 使用docker命令拉取redis最新镜像,运行容器化redis,重新设置容器与宿主机的端口映射,以及目录挂载,最后查看容器运行日志.
正文
以下是使用 Docker 安装 Redis 的基本步骤:
1. 拉取 Redis 镜像:
docker pull redis
这条命令会从 Docker Hub 上下载 Redis 的最新镜像。如果已经下载过,这个步骤可以跳过。
拉取效果如上图所示,说明Redis镜像安装成功。
2. 运行 Redis 容器:
docker run --name my-redis -d redis
docker run
是 Docker 运行新容器的命令。--name my-redis
给容器指定一个名称,这里我们命名为my-redis
。-d
参数表示以“分离模式”运行容器,即在后台运行。redis
指定了要运行的镜像名称。
3. 检查 Redis 是否运行:
docker exec -it my-redis redis-cli
docker exec
命令用于在运行中的容器内执行命令。-it
参数让命令行交互式运行。my-redis
是容器的名称。redis-cli
是 Redis 的命令行工具,用于连接到 Redis 服务。
进入 Redis CLI 后,输入 ping
,如果返回 PONG
,则表示 Redis 服务正在运行,如图所示。
也可以使用docker ps命令查看Redis容器运行状态:
如图所示,状态为“Up”,端口号为“6379/tcp”,说明Redis运行正常。
4. 重新配置端口映射、目录挂载
对于已经运行的 Docker 容器,你不能直接更改其目录挂载和端口映射设置,因为这些设置是在容器创建时定义的,并且一旦容器启动,这些配置就无法修改。如果你需要更改这些设置,你将需要重新创建容器并重新启动它。
以下是更改目录挂载和端口映射的步骤:
(1) 停止当前容器:
停止正在运行的容器。
docker stop my-redis
如图所示:
(2) 删除容器:
停止容器后,需要删除它。
docker rm my-redis
(3) 创建新的容器:
使用新的目录挂载和端口映射设置重新创建容器。
mkdir ~/redis
docker run --name my-redis001 -d -v /redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 redis
在宿主机创建redis目录,设置新容器的名称为my-redis001,挂载容器内redis配置文件到宿主机redis目录,设置宿主机的端口号与容器redis的端口一致。
分别执行docker ps和ll /redis命令,查看新容器运行状态和端口映射情况,查看目录文件挂载情况,发现新容器处在"Up"状态,端口已实现映射;在宿主机/redis目录下,自动生成recis.conf,说明目录挂载成功。如图所示。
(4) 启动新容器:
创建新容器后,它会自动启动。
如果不想丢失当前容器中的数据,需要先备份数据,然后在新容器中恢复数据。对于 Redis,你可以使用 redis-cli
工具或者 redis-dump
和 redis-load
脚本来备份和恢复数据。
请记住,每次更改配置或数据卷时,都需要重新启动容器,这可能会导致服务中断。因此,在生产环境中,这种操作应该谨慎进行,并在维护窗口期间执行。
5. 查看容器日志:
docker logs my-redis001
这条命令可以查看容器的日志输出,有助于调试和监控容器的状态。如图所示。
总结
以上步骤展示了如何使用 Docker 安装和运行 Redis,并提供了一些基本的管理和维护操作。根据你的具体需求,可能还需要进行更多的配置和优化。