centos8 使用docker安装redis

拉取镜像

docker pull redis:5

$:docker images 你会看到redis的镜像

在/data/docker/redis 文件夹下创建redis.conf(没有/data/docker/redis文件自己创建)
在redis.conf写入(注释的不要)
port 6379 //开启端口6379
bind * //docker内部绑定容器需要使用*号 //不能使用127 127 是相对于母机的如果跨docker没用 docker内部指向不一样
daemonize no
pidfile /data/redis/redis.pid
appendonly yes
写好保存

启动redis 执行命令(注释的不要)
docker run
-p 127.0.0.1:6379:6379 \ //映射端口 容器内到宿主的127.0.0.1:6379
–name redis \ //给容器起名名字叫做redis
-v /data/docker/redis/data:/data \ //映射文件夹
-v /data/docker/redis/redis.conf:/etc/redis/redis.conf \ //映射文件
-d redis:5 \ //使用redis的pull的版本
redis-server /etc/redis/redis.conf \ //使用redis配置文件开启redis服务
–requirepass “123456” \ //密码
–appendonly yes 后台运行
centos8 使用docker安装redis_第1张图片

docker run \
-p 127.0.0.1:6379:6379 \
--name redis \
-v /data/docker/redis/data:/data \
-v /data/docker/redis/redis.conf:/etc/redis/redis.conf \
-d redis:5 \
redis-server /etc/redis/redis.conf \
--requirepass "123456" \
--appendonly yes

$: docker ps
在这里插入图片描述

使用redis镜像执行redis-cli命令连接到刚启动的容器
$:docker exec -it redis redis-cli
//输入密码
$: auth 123456
测试
$:keys *
在这里插入图片描述
说明成功了

没有安装docker? 请看 centos8 Docker上安装的postgres

出现的问题:
[root@localhost ~]# docker run -d -p 9000:80 centos:httpd /bin/sh -c /usr/local/bin/start.sh
d5b2bd5a7bc4895a973fe61efd051847047d26385f65c278aaa09e4fa31c4d76
docker: Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen (6bda693d1143657e46bee0300276aa05820da2b21a3d89441e820d1a274c48b6): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9000 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1))

原因:

docker服务启动时定义的自定义链DOCKER由于某种原因被清掉
重启docker服务及可重新生成自定义链DOCKER

解决:

重启docker服务后再启动容器
systemctl restart docker
再次执行那个命令

其他命令:
//启动redis
docker start redis

你可能感兴趣的:(centos8 使用docker安装redis)