安装 docker redis redis集群 minikube

系统:centos7

以下命令都是在root用户下使用,非root用户可能会出现权限不足问题。

一、安装docker

1. 下载阿里的源,需要先有wget(yum install -y wget)wget -V 查看版本

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

wget -P /etc/yum.repos.d http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

另:yum如果被占用  rm -f /var/run/yum.pid

2. 更新yum缓存

yum clean all

yum makecache fast

3. yum安装docker-ce

查看版本:yum list docker-ce --showduplicates | sort -r

安装:yum install -y docker-ce-19.03.9-3.el7

4. 添加docker镜像加速

(1)获取阿里云的加速地址(需登录阿里云)阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

或者使用docker官方地址(听说失效了) https://registry.docker-cn.com

(2)修改文件 /etc/docker/daemon.json 

( 如果文件不存在,可以直接创建它 ;示例的docker版本 /etc/docker 目录 和 daemon.json文件都需要新建) 

填充如下内容:

{

    "registry-mirrors": [

        "https://registry.docker-cn.com"

    ]

}

5. 启动docker

启动:systemctl start docker

开机自启:systemctl enable docker

另:相应端口需在防火墙开放

或者直接关闭防火墙:systemctl stop firewalld

二、docker安装redis

1. 查看redis镜像版本  Docker Hub 

另:以下使用3.0.0版本

2. docker下载镜像  docker pull redis:3.0.0

3. docker通过镜像运行一个容器(实例)

docker run -itd --name redis0.1 -p 8001:6379 redis:3.0.0

(1)进入容器的命令:docker exec -it 容器id /bin/bash

如:docker exec -it 775c7c9ee1e1 /bin/bash

(2)进入容器后,执行find / -name *redis.conf*,发现没有配置文件redis.conf,下一步指定配置文件。

4. 运行一个新的实例,并指定配置文件

docker run -itd --name redis-0 -v /a_software/redis/redis0/conf/redis.conf:/etc/redis.conf -v /a_software/redis/redis0/data:/data  -p 7000:6379 redis:3.0.0 redis-server /etc/redis.conf  --appendonly yes

参数解释:

(1)-itd : 是 -d -i -t 三个参数的整合,-d是后台运行,-i可以交互操作,-t启动终端。

(2)--name : 指定容器的名称

(3)-v : 将容器外的文件或文件夹挂载到容器内,顺序是 -v 容器外:容器内。或者说把容器外的文件建了个快捷方式给容器用。可以指定多个挂载,例子中挂载了一个redis.conf文件和一个data文件夹。

(4)-p : 映射端口,顺序是 -p 容器外:容器内。

(5)redis-server /etc/redis.conf  --appendonly yes :  这个是redis服务的启动命令,/etc/redis.conf 表示配置文件位置, --appendonly yes 表示持久化数据(保存数据到硬盘)。

配置文件:

常用的四个属性:

#设置密码
requirepass 123456


bind 0.0.0.0       #设置外部ip访问,0.0.0.0表示全部外部ip
# protected-mode no  #关闭保护模式,配合上面的bind属性使用,3.2版本以后新增的属性 


#设置监听端口
port 6379

安装 docker redis redis集群 minikube_第1张图片

redis.conf 原版文件(3.0.0版本):https://wws.lanzous.com/ii1oafsnu2d

建议用哪些写哪些,如果把配置全部写上去,反倒会冲突,导致容器启动失败。

不知道是哪条冲突,有说是daemonize参数与docker run的-d冲突(两个都是设置后台启动),但我daemonize no也还是不行,还有参数冲突。

其他配置参数:

可以参考这位博主:redis常用配置参数详解 - Jony.K.Chen - 博客园

三、docker安装redis集群

0. docker关闭和删除所有容器的命令

(1)关闭所有容器:docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

(2)删除所有关闭状态的容器:docker rm `docker ps -a|grep Exited|awk '{print $1}'`

(3)删除所有未运行容器(已运行的只报错不会被删掉):docker rm $(sudo docker ps -a -q)

1. 前期配置

(1)redis.conf文件

需要添加 cluster-enabled yes 属性,一般也要开放外部ip访问。

(2)端口映射

除了监听端口,还需要映射(监听端口+10000),如:6379 和 16379,这个是redis内部通信用的端口号。

我尝试过映射这两个端口,ruby脚本没报错误,但是客户端连接不上。姑且先使用端口全映射,docker run 参数加上 --network=host,去掉-p映射,意思是把容器暴露的端口全部映射到对应宿主机端口。

(3)下载对应脚本和安装ruby环境

gem脚本:All versions of redis | RubyGems.org | your community gem host

安装 docker redis redis集群 minikube_第2张图片

ruby脚本:先下载redis源码:Index of /releases/ ,解压后搜索 redis-trib.rb 文件,redis.conf 文件源码里也有。

ruby环境安装:yum install ruby

gem脚本安装:进入gem脚本所在目录,执行 gem install ./redis-3.0.0.gem --local (本地安装)       gem install redis -v 3.0.0 (在线安装)

2. 创建好对应redis.conf文件,并启动redis容器

docker run -itd --name redis1 --network=host -v /a_software/redis/redis1/conf/redis.conf:/etc/redis.conf  redis:3.0.0 redis-server /etc/redis.conf

安装 docker redis redis集群 minikube_第3张图片

安装 docker redis redis集群 minikube_第4张图片

3. 运行ruby脚本

进入脚本所在目录,执行:

ruby ./redis-trib.rb create --replicas 1 192.168.15.134:7001 192.168.15.134:7002 192.168.15.134:7003 192.168.15.133:7004 192.168.15.133:7005 192.168.15.133:7006

--replicas 1 表示为每个主节点配置一个从节点,命令上写了6个节点,因此是3主3从。脚本内置的算法,会尽量把主节点分散到不同主机。

报了超多警告,请谨慎使用,至少可以连接上了。

用到的文件:https://wws.lanzous.com/iJlKYfsrjmb  ,注:我用的是redis3.0.0版本,默认开启了外网访问,文件里就没配置bind  0.0.0.0和protected-mode no 了,其他版本还是要加上。

4. 测试连接

推荐Another-Redis-Desktop-Manager,中文界面,挺好的。

下载链接:https://wws.lanzous.com/iUkcOfsrx2f

安装 docker redis redis集群 minikube_第5张图片

安装 docker redis redis集群 minikube_第6张图片

四、安装minikube

1. 检查是否开启cpu虚拟化

(1)输入 dmesg |grep kvm 或 lsmod |grep kvm ,有输出文字就是已开启。

(2)vm虚拟机设置:编辑虚拟机设置->处理器->虚拟化......

安装 docker redis redis集群 minikube_第7张图片

2. 下载minikube的 安装及配置 合一的可执行文件。

(1)curl -LO minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.4.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

(2)minikube start --vm-driver=none

--vm-driver=none 指不使用虚拟机

3. 下载 kubectl 

curl -LO http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.13.4/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl

4. 开启webUI

(1)minikube dashboard

(2)开放远程访问端口

nohup kubectl proxy  --port=46304 --address='192.168.15.133' --accept-hosts='^192.168.15.133$'  >/dev/null 2>&1& 

你可能感兴趣的:(linux,docker,redis,容器)