点击图像可以查阅更多编程方面的文章。
1. 配置镜像1. 这里是手写的一份redis镜像,里边参数先不用管,先知道这么用即可
2. 把这份镜像文件上传到/usr/redis这个目录下
usr下面的redis这个目录是需要创建的
2. 容器网络类型Docker安装后,默认会创建下面三种网络类型
docker network ls查看
在启动容器时使用 --network bridge 指定网络类型
bridge:桥接网络,docker启动时默认使用的网络类型
none:无指定网络,使用 --network=none ,docker 容器就不会分配局域网的IP
host: 主机网络,使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。
例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中
3. 指定自定义网络因为默认的网络不能制定固定的地址,所以我们将创建自定义网络,并指定网段:172.10.0.01/16
docker network create --subnet=172.10.0.0/16 mynetwork
删除自定义网络
docker network rm mynetwork即可
如果命令记不住那么就直接使用docker network help
4. 创建镜像查看自己的镜像
docker images
2. 创建redis-master
docker build -t redis-master .
创建完之后可以使用docker images来查看生成的镜像,这是刚刚生成的redis主从两个镜像
5. 创建容器命令:
docker run -itd --name redis-master --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis
1. 在打开两个终端,分别执行创建容器命令
2. 分别创建redis-master容器和redis-slave
3. 查看我们创建的容器
docker ps -a 或者 docker container ls
6. 配置主从集群进入到redis的主从两个容器里边去
docker exec -it 97e4f5974e91 /bin/bash
它就相当于一个伪终端
2. 容器重启
docker container start containerID
3. 在cd到etc下,发现并没有redis.conf文件
4. 映射宿主机的redis.conf到容器里
这里切记需要把之前创建的容器干掉docker container stop redis-master/docker container rm redis-master,然后在重新创建就会存在redis.conf文件了
docker run -itd --name redis-master -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data --net mynetwork -p 6380:6379 --ip 172.10.0.2 redis
5. 修改主动redis的配置文件
在redis-slave里边配置
然后修该主从两个的配置,这里没有设置密码,所以就先这么弄
6. 测试主从复制
可以看到都是没有值的
下来给redis-master设置一个值
然后在redis-slave获取
这样就配置完成了