首页 > 数据库 >Docker安装Redis和Elasticsearch

Docker安装Redis和Elasticsearch

时间:2024-12-16 21:19:58浏览次数:5  
标签:Redis redis Elasticsearch usr conf Docker local docker

本章将和大家分享在Docker中如何安装Redis和Elasticsearch。废话不多说,下面我们直接进入主题。

一、Docker安装Redis

1、拉取最新版的 redis 镜像

docker pull redis

2、查看本地镜像

docker images

3、从官网获取 redis.conf 配置文件

创建并进入指定目录(可自定义):

// 进入目录/usr/local
cd /usr/local/

// 创建多级目录(如果上级目录不存在,会自动创建)
mkdir -p docker/redis

// 进入目录/usr/local/docker/redis
cd /usr/local/docker/redis/

下载redis配置文件:

// 下载redis配置文件
wget http://download.redis.io/redis-stable/redis.conf

如果使用 wget 命令拉取失败,则可以使用迅雷下载下来然后再上传到 Linux 服务器,下载链接地址:http://download.redis.io/redis-stable/redis.conf

修改配置文件:

// 修改配置文件
vim redis.conf

修改配置文件如下:

  • bind 127.0.0.1 -::1  =>  bind 0.0.0.0  #这是限制redis只能本地访问
  • protected-mode yes  =>  protected-mode no  #默认yes,开启保护模式,限制为本地访问
  • daemonize no  #默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败(可选)
  • dir ./  #输入本地redis数据库存放文件夹(可选)
  • appendonly yes  #redis持久化(可选)

4、docker启动redis

首先需要先创建一个 data 目录,用于挂载数据:

// 进入/usr/local/docker/redis目录
cd /usr/local/docker/redis/

// 创建data目录
mkdir data

// 查看文件列表
ll

接着就可以启动redis了:

docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
  • -p 6379:6379  这个参数指定了端口映射。冒号(:)前表示主机部分,冒号(:)后表示容器部分。它将容器内部的6379端口映射到宿主机的6379端口上。Redis默认使用6379端口,这样你就可以通过宿主机的6379端口来访问Redis服务了。
  • --name redis  这个参数为容器指定了一个名字,叫做myredis。这样,你就可以通过这个名字来引用或管理这个容器了。
  • -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf  这个参数用于挂载配置文件。它将宿主机上的/usr/local/docker/redis/redis.conf文件挂载到容器内的/etc/redis/redis.conf路径。这样,Redis容器就会使用这个配置文件来启动。
  • -v /usr/local/docker/redis/data:/data  这个参数用于挂载数据目录。它将宿主机上的/usr/local/docker/redis/data目录挂载到容器内的/data目录。Redis会将数据持久化到这个目录,这样即使容器被删除,数据也不会丢失。
  • -d  这个参数表示以“detached mode”(分离模式)运行容器,即在后台运行。
  • redis  这是要运行的Docker镜像的名字,这里指的是官方的Redis镜像。
  • redis-server /etc/redis/redis.conf --appendonly yes  这是容器启动后要执行的命令。它告诉Redis服务器使用/etc/redis/redis.conf配置文件来启动,并且启用AOF(Append Only File)持久化模式(通过--appendonly yes参数)。AOF持久化模式会将每个写命令追加到文件的末尾,这样即使服务器发生宕机,也可以通过重新执行这些命令来恢复数据。
  • appendonly yes  开启redis持久化

5、查看redis状态

docker ps -l

6、进入redis

// 进入redis
docker exec -it myredis /bin/bash

// 切换到根目录
cd /

// 查找redis-cli文件所在的路径
find -name redis-cli

// 进入redis-cli文件所在的目录
cd /usr/local/bin

// 启动redis-cli
./redis-cli

或者使用 redis-cli(直接连接到 Redis):

docker exec -it myredis redis-cli

这将直接启动 Redis 命令行界面,你可以在其中运行 Redis 命令。

二、Docker安装Elasticsearch

Docker安装Elasticsearch可直接参考官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docker.html#_pulling_the_image

1、拉取镜像

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2

2、启动Elasticsearch单节点集群

docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.2

3、检查Elasticsearch是否启动成功

通过浏览器访问:http://192.168.4.250:9200/

可以看到我们的 Elasticsearch 启动成功了。

 

redis.conf 配置文件:

链接: https://pan.baidu.com/s/1Mi4ciResA8Bk9wlZ6ltrpQ?pwd=eda2 提取码: eda2

标签:Redis,redis,Elasticsearch,usr,conf,Docker,local,docker
From: https://www.cnblogs.com/xyh9039/p/18607339

相关文章

  • Redis:从安装到“数据不见了,快来救我!”史上最全讲解之安装配置启动
    本着上班找工作为目的,从0开始学redis,从安装部署开始。centos9作为实验机目录1、redis下载安装2、redis配置并启动3、Redis命令3.1、设置值(key)3.2、获取值3.3、EX选项3.4、PX选项3.5、TTL获取剩余生存时间(秒)3.6、NX选项3.7、XX选项3.8、del删除键4、redis工具......
  • Redis与关系型数据库:在不同场景下的数据库选择与优化策略
    在现代应用开发中,数据库作为核心组件之一,承载着数据存储、检索和管理的重要任务。根据不同的应用需求,开发人员通常需要在关系型数据库(如MySQL)和NoSQL数据库(如Redis)之间做出选择。每种数据库都有其独特的优势和适用场景,合理的数据库选择和优化策略能够显著提高系统的性能和可扩......
  • Elasticsearch、Logstash和Kibana
    ELK概述定义与组成部分:ELK是Elasticsearch、Logstash和Kibana的缩写,这三个工具共同构成了一个强大的日志管理和分析平台。Elasticsearch:是一个分布式的、RESTful风格的搜索和数据分析引擎。它能够存储和索引大量的数据,并提供快速的搜索功能。其核心功能是对数据进行索引,使得......
  • docker操作命令大全
    镜像相关命令拉取镜像命令格式:dockerpull[选项][镜像名称:标签]示例:dockerpullubuntu:latest,这会从Docker官方仓库拉取最新版本(标签为latest)的Ubuntu镜像。你还可以指定镜像仓库,例如从阿里云镜像仓库拉取镜像dockerpullregistry.cn-hangzhou.aliyuncs.com/your-......
  • docker安装使用详解
    docker卸载##1.卸载依赖yumremovedocker-cedocker-ce-clicontainerd.io##2.删除资源目录rm-rf/var/lib/dockerdocker默认工作路径/var/lib/dockerdocker安装前置:docker删除旧版本sudoyumremovedocker\docker-client\......
  • macos+docker+达梦数据库部署
    一、使用背景最近几年,随着国外(尤其是美国)对我国的技术封锁和经济制裁,国家提倡软件项目在开发和实施过程中,服务器、交换机等硬件设备尽量采用国产化,软件要求自主可控、自主研发。特别是我所在行业,客户强制要求使用国产化数据库,所以研究了一下国产化数据库:达梦数据库将初步的安装......
  • Redis 哨兵 Sentinel 介绍
    RedisSentinel说明RedisSentinel为非集群Redis提供高可用解决方案。它能够在主节点发生故障时,自动切换主从角色,实现系统的高可用性。RedisSentinel还提供其他附带任务,例如监控、通知,并充当客户端的配置提供程序。RedisSentinel功能1.监控(Monitoring)分布式......
  • ElasticSearch 常见故障解析与修复秘籍
    文章目录一、ElasticSearch启动服务提示无法使用root用户二、ElasticSearch启动提示进程可拥有的虚拟内存少三、ElasticSearch提示用户拥有的可创建文件描述符太少四、ElasticSearch集群yellow状态分析五、ElasticSearch节点磁盘使用率过高,read_only状态问题解决六、Elas......
  • 学习下Redis内存模型
    作者:京东零售吴佳前言redis,对于一个java开发工程师来讲,其实算不得什么复杂新奇的技术,但可能也很少人去深入了解学习它的底层的一些东西。下面将通过对内存统计、内存划分、存储细节、对象类型&内部编码这四个模块来学习学习redis的内存模型,手字笔录,潜心修行。一、redis的内存......
  • 《Docker - Docker Container(容器)之容器实战》
    一、引言Docker是一种开源的容器化平台,它可以将应用程序及其依赖项打包到一个可移植的容器中,从而实现快速部署、可扩展性和隔离性。在Docker中,容器是运行应用程序的基本单元,它提供了一种轻量级、高效的方式来管理应用程序的运行环境。本文将介绍Docker容器的实战应用,包......