Docker安装Redis


以下操作均在虚拟机CentOS7中

一、Docker安装与启动

安装

通过以下命令查看内核版本为3.10,支持docker

uname -r
3.10.0-693.el7.x86_64

安装一些必要的系统工具和添加软件源信息

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker-ce即社区版

sudo yum -y install docker-ce

启动

启动docker后台服务

sudo systemctl start docker

说明

docker默认安装在/var/lib目录下,启动的容器将放在containers目录下

[root@localhost docker]# pwd
/var/lib/docker
[root@localhost docker]# ls
containers image network overlay2 plugins swarm tmp trust volumes

二、安装Redis

安装

直接运行pull

docker pull redis5.0

查看镜像,我pull一个最新版和5.0因此显示两条

[root@localhost containers]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis 5.0 a55fbf438dfd 4 weeks ago 95 MB
docker.io/redis latest a55fbf438dfd 4 weeks ago 95 MB

启动redis

启动redis-server

docker run --name some-redis -d redis redis-server --appendonly yes

启动redis-cli

docker run -it --network some-network --rm redis redis-cli -h some-redis

报错

docker: Error response from daemon: Conflict. The container name “/xxxx” is already in use …

出现上面错误是因为容器重名了,可以换一个name启动,也可以将原来容器删除

docker container rm xxxx

自定义配置文件启动

创建redis目录并将redis.conf文件copy到目录下

[root@localhost containers]# cd /home/redis
[root@localhost redis]# ls
redis.conf

自定义方式启动

docker run -d --privileged=true -p 6379:6379 -v /home/redis/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data --name frog-redis redis redis-server /etc/redis/redis.conf --appendonly yes

–privileged=true 容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-p 6379:6379 端口映射
-v /home/redis/redis.conf:/etc/redis/redis.conf 映射配置文件
-v /home/redis/data:/data 把redis持久化的数据在宿主机内显示,做数据备份
redis-server /etc/redis/redis.conf 这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
–appendonly yes redis启动后数据持久化

如果报端口映射失败,可以重启一下docker

service docker restart

查看状态

[root@localhost containers]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1196c78b1c78 redis “docker-entrypoint…” 17 seconds ago Up 16 seconds 0.0.0.0:6379->6379/tcp frog1-redis

测试连接

使用jedis客户端测试

        Jedis jedis = new Jedis("192.168.74.10",6379);
        Set<String> keys = jedis.keys("*");
        System.out.println(keys); // [] 为空但是说明连接通了
        jedis.close();

三、Docker常用简单命令

查看当前正在运行容器

docker ps

查看所有容器状态

docker ps -a

启动或停止容器

docker start/stop id/name

查看本地镜像

docker images

删除容器

docker rm id/name

删除镜像

docker rmi id/name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值