【docker&redis】用docker容器运行单机redis

一、实验环境

操作系统:CentOS7.5 Minimal

docker版本:18.06-ce

redis版本:6.0.6

二、安装docker

关闭selinux

setenforce 0

sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

下载docker二进制安装包

yum -y install wget

wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.0-ce.tgz

tar -zxf docker-18.06.0-ce.tgz

ll ./docker

cp ./docker/docker* /usr/bin

创建docker服务的unit文件

vim /etc/systemd/system/docker.service

##############################################################

Unit

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

Service

Type=notify

the default is not to use systemd for cgroups because the delegate issues still

exists and systemd currently does not support the cgroup feature set required

for containers run by docker

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

Having non-zero Limit*s causes performance problems due to accounting overhead

in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

Uncomment TasksMax if your systemd version supports it.

Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

kill only the docker process, not all processes in the cgroup

KillMode=process

restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

Install

WantedBy=multi-user.target

##############################################

启动docker服务,设置开机自启

systemctl daemon-reload

systemctl start docker

systemctl status docker

systemctl enable docker

docker info

docker version

设置镜像加速

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

systemctl restart docker

cat /etc/docker/daemon.json

# python -m json.tool /etc/docker/daemon.json

三、 拉取redis镜像,启动容器

docker pull redis

docker run -it --rm redis redis-cli -v

# docker tag redis:latest redis:6.0.6

docker run -it --rm redis cat /etc/passwd

mkdir /opt/redisdata

chown -R 999:999 /opt/redisdata

docker run -d --name redis -v /opt/redisdata:/data -p 6379:6379 redis:6.0.6 redis-server --appendonly yes

docker exec -it redis redis-cli config set requirepass "Redis@123"

docker logs redis

docker stop redis

docker rm redis

四、将redis注册成系统服务

vim /etc/systemd/system/redis.service

##################################################

Unit

Description=Redis Server

After=network-online.target docker.service

Requires=docker.service

Service

Type=simple

ExecStartPre=-/usr/bin/docker rm -f redis

ExecStart=/usr/bin/docker run \

--name redis \

-p 6379:6379 \

-v /opt/redisdata:/data \

redis:6.0.6 \

redis-server --appendonly yes --requirepass "Redis@123"

ExecStop=/usr/bin/docker stop redis

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

Install

WantedBy=multi-user.target

##################################################

systemctl daemon-reload

systemctl start redis

systemctl status redis

systemctl enable redis

docker exec -it redis redis-cli -a "Redis@123"

五、参考

使用 docker 快速部署 Redis

https://www.jianshu.com/p/67ce319d8782

docker安装redis设置密码并连接

http://www.apgblogs.com/docker-redis

Redis配置数据持久化---APPEND ONLY MODE

https://blog.csdn.net/ljl890705/article/details/51039015
最后编辑于:2025-04-21 10:37:32
© 著作权归作者所有,转载或内容合作请联系作者

喜欢的朋友记得点赞、收藏、关注哦!!!

相关推荐
hhzz4 分钟前
全局实例跟踪(GIT):像人类一样定位目标——VideoCube基准与SiamFC实战全解析
大数据·python·计算机视觉·目标跟踪·数据分析
无限的鲜花8 小时前
反射(原创推荐)
java·开发语言
运维行者_9 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
IT二叔9 小时前
Java项目部署-03-teamcity-cicd-docker镜像流水线方式部署
java·ci/cd·持续部署
一路向北he9 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
QiLinkOS9 小时前
第三视觉理解徐玉生与他的商业活动(30)
大数据·c++·人工智能·算法·开源协议
超级数据查看器9 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天10 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
折哥的程序人生 · 物流技术专研11 小时前
《Java 100 天进阶之路》第50篇:阻塞队列与并发容器(2026版)
java·面试题·java进阶·blockingqueue·并发容器·集合源码·java100天进阶
ai_coder_ai11 小时前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化