【Docker】解决创建Redis容器没有conf配置⽂件序⾔
这篇⽂章没有什么知识点,只是为了新伙伴少踩点坑
1. 问题重现
1. 创建容器
2. 解读参数
-d: 后台运⾏容器,并返回容器ID;
-i: 以交互模式运⾏容器,通常与 -t 同时使⽤;
-p: 端⼝映射,格式为:主机(宿主)端⼝:容器端⼝
-t: 为容器重新分配⼀个伪输⼊终端,通常与 -i 同时使⽤;
--ip: 为容器制定⼀个固定的ip
-
-net: 指定⽹络模式
3. 进⼊容器查看f⽂件
发现是并没有f⽂件的,那么这个时候就是新⼿踩坑阶段了,因为没有系统的学习docker所以会花费很多时间
2. 解决问题
没有配置⽂件这件事呢!那是因为redis容器⾥边的配置⽂件是需要在创建容器时映射进来的
那么就需要删除我们之前创建好的容器,在删除前需要先停⽌容器后才可以删除
停⽌容器:docker container stop redis-testcontainer什么意思
删除容器:docker container rm redis-test
1. 开始重新创建redis容器
docker run -itd --name redis-slave -v /usr/local/f:/f -v /root/usr/local/redis/data:/data --net mynetwork -p 6381:6379 --ip 172.10.0.3 redis
参数解释:
-v /usr/local/f:/f:映射配置⽂件
-v /root/usr/local/redis/data:/data:映射数据⽬录
那么这个时候就有redis配置⽂件了
搭建同意的挂载外部配置
上边是在我宿主机有redis的情况下的,那么下来说宿主机没有redis的情况
这⾥说的映射其实就是挂载外部配置和数据安装
1. 创建docker统⼀的外部配置⽂件
mkdir -p docker/redis/{conf,data}
2. 在conf⽬录创建f的配置⽂件
touch /docker/redis/f
3. f⽂件的内容需要⾃⾏去下载,⽹上很多
4. 创建启动容器,加载配置⽂件并持久化数据
docker run -d --privileged=true -p 6379:6379 -v /docker/redis/f:/etc/f -v
/docker/redis/data:/data --name redis-test redis redis-server /etc/f --appendonly yes
参数说明:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通⽤户权限
-v /docker/redis/f:/etc/f:映射配置⽂件
-v /docker/redis/data:/data:映射数据⽬录
redis-server /etc/f:指定配置⽂件启动redis-server进程
-
-appendonly yes:开启数据持久化
这⾥边还有⼀些概念新⼿可能会很模糊,后边会进⾏详解,先知道这么⽤就好了,深夜了,⼤家晚安!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论