CentOS Docker 设置 Redis 自动启动

在使用 Docker 部署应用时,经常会遇到需要在容器启动时自动启动服务的情况。本文将介绍如何在 CentOS 中使用 Docker 部署 Redis,并设置自动启动。

准备工作

在开始之前,我们需要确保已经安装了 Docker 和 Docker Compose。

如果还没有安装 Docker,请按照以下步骤进行安装:

  1. 首先,更新系统软件包列表:
sudo yum update
  1. 安装 Docker 的依赖项:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. 添加 Docker 的软件源:
sudo yum-config-manager --add-repo 
  1. 安装 Docker:
sudo yum install -y docker-ce
  1. 启动 Docker 服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
  1. 验证 Docker 是否安装成功:
docker --version

如果输出了 Docker 的版本信息,则说明安装成功。

使用 Docker 部署 Redis

接下来,我们将使用 Docker Compose 来编排 Redis 容器的部署。

  1. 首先,创建一个名为 docker-compose.yml 的文件,并使用以下内容填充:
version: '3'
services:
  redis:
    image: redis
    restart: always
    ports:
      - 6379:6379

以上配置文件定义了一个名为 redis 的服务,使用官方的 Redis 镜像,并将容器的 6379 端口映射到主机的 6379 端口。

  1. 保存文件并使用以下命令启动 Redis 容器:
docker-compose up -d

此命令将会下载 Redis 镜像并创建一个名为 redis 的容器,并在后台运行。

  1. 确认 Redis 容器是否成功启动:
docker ps

如果输出了 Redis 容器的信息,则说明容器已经成功启动。

设置 Redis 自动启动

为了实现 Redis 容器的自动启动,我们需要创建一个 Systemd 服务单元。

  1. 首先,创建一个名为 redis.service 的文件,并使用以下内容填充:
[Unit]
Description=Redis Container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a redis
ExecStop=/usr/bin/docker stop -t 2 redis

[Install]
WantedBy=default.target

以上配置文件定义了一个名为 redis 的 Systemd 服务单元。ExecStart 字段指定在启动服务时执行的命令,ExecStop 字段指定在停止服务时执行的命令。

  1. 保存文件并将其移动到 /etc/systemd/system/ 目录下:
sudo mv redis.service /etc/systemd/system/
  1. 重新加载 Systemd 配置文件:
sudo systemctl daemon-reload
  1. 启动 Redis 服务:
sudo systemctl start redis
  1. 设置 Redis 服务开机自启:
sudo systemctl enable redis

现在,Redis 容器将会在系统启动时自动启动。

总结

本文介绍了如何在 CentOS 中使用 Docker 部署 Redis,并设置自动启动。首先,我们安装了 Docker,并使用 Docker Compose 编排了 Redis 容器的部署。然后,我们创建了一个 Systemd 服务单元,以实现 Redis 容器的自动启动。

通过以上步骤,你可以在 CentOS 上轻松部署 Redis,并确保它始终在系统启动时自动运行。

引用形式的描述信息

希望本文对你有所帮助!如有任何问题或建议,请随时向我们反馈。感谢阅读!

参考链接

  • [Docker Documentation](
  • [Docker Compose Documentation](
  • [Redis Official Image](