CentOS Docker 设置 Redis 自动启动
在使用 Docker 部署应用时,经常会遇到需要在容器启动时自动启动服务的情况。本文将介绍如何在 CentOS 中使用 Docker 部署 Redis,并设置自动启动。
准备工作
在开始之前,我们需要确保已经安装了 Docker 和 Docker Compose。
如果还没有安装 Docker,请按照以下步骤进行安装:
- 首先,更新系统软件包列表:
sudo yum update
- 安装 Docker 的依赖项:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加 Docker 的软件源:
sudo yum-config-manager --add-repo
- 安装 Docker:
sudo yum install -y docker-ce
- 启动 Docker 服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
- 验证 Docker 是否安装成功:
docker --version
如果输出了 Docker 的版本信息,则说明安装成功。
使用 Docker 部署 Redis
接下来,我们将使用 Docker Compose 来编排 Redis 容器的部署。
- 首先,创建一个名为
docker-compose.yml
的文件,并使用以下内容填充:
version: '3'
services:
redis:
image: redis
restart: always
ports:
- 6379:6379
以上配置文件定义了一个名为 redis
的服务,使用官方的 Redis 镜像,并将容器的 6379
端口映射到主机的 6379
端口。
- 保存文件并使用以下命令启动 Redis 容器:
docker-compose up -d
此命令将会下载 Redis 镜像并创建一个名为 redis
的容器,并在后台运行。
- 确认 Redis 容器是否成功启动:
docker ps
如果输出了 Redis 容器的信息,则说明容器已经成功启动。
设置 Redis 自动启动
为了实现 Redis 容器的自动启动,我们需要创建一个 Systemd 服务单元。
- 首先,创建一个名为
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
字段指定在停止服务时执行的命令。
- 保存文件并将其移动到
/etc/systemd/system/
目录下:
sudo mv redis.service /etc/systemd/system/
- 重新加载 Systemd 配置文件:
sudo systemctl daemon-reload
- 启动 Redis 服务:
sudo systemctl start redis
- 设置 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](