序言

这篇文章没有什么知识点,只是为了新伙伴少踩点坑

1. 问题重现

*
创建容器

2. 解读参数

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-p: 端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--ip: 为容器制定一个固定的ip

--net: 指定网络模式

3. 进入容器查看redis.conf文件

发现是并没有redis.conf文件的,那么这个时候就是新手踩坑阶段了,因为没有系统的学习docker所以会花费很多时间

 

2. 解决问题

没有配置文件这件事呢!那是因为redis容器里边的配置文件是需要在创建容器时映射进来的

那么就需要删除我们之前创建好的容器,在删除前需要先停止容器后才可以删除

停止容器:docker container stop redis-test

删除容器:docker container rm redis-test

1. 开始重新创建redis容器

docker run -itd  --name  redis-slave  -v
/usr/local/redis/redis.conf:/etc/redis.conf -v
/root/usr/local/redis/data:/data  --net mynetwork  -p 6381:6379  --ip
172.10.0.3  redis

参数解释:

-v /usr/local/redis/redis.conf:/etc/redis.conf:映射配置文件

-v /root/usr/local/redis/data:/data:映射数据目录

那么这个时候就有redis配置文件了

 

搭建同意的挂载外部配置

上边是在我宿主机有redis的情况下的,那么下来说宿主机没有redis的情况

这里说的映射其实就是挂载外部配置和数据安装

1. 创建docker统一的外部配置文件

mkdir -p docker/redis/{conf,data}

2. 在conf目录创建redis.conf的配置文件

touch /docker/redis/conf/redis.conf

3. redis.conf文件的内容需要自行去下载,网上很多

4. 创建启动容器,加载配置文件并持久化数据

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

参数说明:

--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限

-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件

-v /docker/redis/data:/data:映射数据目录

redis-server /etc/redis/redis.conf:指定配置文件启动redis-server进程

--appendonly yes:开启数据持久化

这里边还有一些概念新手可能会很模糊,后边会进行详解,先知道这么用就好了,深夜了,大家晚安!

技术
©2019-2020 Toolsou All rights reserved,
【jvm学习】执行引擎python(基本介绍)用户管理和文件权限C++第五章多态性习题:(快大结局了)VHDL——含异步清零和同步使能的加法计数器源程序Windows网络服务渗透测试实战-跨网段攻击JavaScript百炼成仙 1.15 天秀找出游戏的获胜者(java)单片机能做什么,你有什么有单片机或开源硬件做的有意思的作品吗一份笔记让你从 15K 涨薪并跳槽到32K+16