Linux上使用docker启动redis并远程访问的实现

 更新时间:2023年04月04日 10:48:10   作者:IT__learning  
这篇文章主要介绍了Linux上使用docker启动redis并远程访问的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

一、centos7 上安装 docker

1、安装必要的一些系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

2、安装 docker 的 yum 源

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo	# 中央仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	# 阿里仓库

3、安装 docker

yum install docker-ce  # 由于 repo 中默认只开启 stable 仓库,故这里安装的是最新稳定版

可以查看所有仓库中所有 docker 版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r 

yum install docker-ce-20.10.9.ce

4、开启 docker 服务

systemctl start docker	# 启动 Docker 
systemctl enable  docker	# 开机自启

5、 验证 docker

 docker version

有 client 和 service 两部分表示 docker 安装启动都成功了

二、docker 安装 redis 并启动

1、docker 拉取 redis 镜像

docker pull redis

2、查看本地镜像

docker images

3、挂载配置文件

docker 安装的 redis 默认只能够本地连接,不能进行远程访问,因此需要手动挂载外部 redis 配置文件。

(1)在 Linux 任意目录下创建存放 redis 配置文件和数据的目录结构:/docker/redis/conf,/docker/redis/data。

(2)将配置文件 redis.conf 从官网下载下来放到配置文件目录 /docker/redis/conf 下。

(3)修改以下配置:

  • 1)bind 127.0.0.1 :注释掉这部分,这是限制 redis 只能本地访问
  • 2)protected-mode no :默认是yes,开启保护模式,限制为本地访问
  • 3)requirepass 123456 :配置 redis 连接密码,默认是注释的
  • 4)dir ./ :更改本地redis数据库存放文件夹(可选)
  • 5)appendonly yes :redis 持久化,开启了这个 redis 就不会每次重启时自动清空了

4、创建容器并启动 redis 服务端

docker run -itd -p 6379:6379 --name lhjredis -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data redis redis-server /etc/redis/redis.conf 

1)–name:给容器起一个名字;

2)-p:端口映射(宿主机端口:容器端口);

3)-v:挂载自定义配置(自定义配置:容器内部配置);

本命令共有两个挂载:Linux 上自定义的 redis 配置(/docker/redis/conf/redis.conf)挂载到容器内 redis 应用的默认配置文件 /etc/redis/redis.conf;Linux 上自定义的数据存放目录(/docker/redis/data)挂载到容器内 redis 应用的默认数据存放目录(/data)。

这样 docker 容器内的 redis 应用会使用 Linux 上自定义的配置文件,docker 容器内的 redis 应用的数据会放到 Linux 上自定义的数据存放目录。

4)-d:后台运行;

5)redis-server --appendonly yes: 在容器执行 redis-server 启动命令,并打开 redis 持久化配置;

5、启动成功,查看状态

docker ps

6、进入到启动的容器

docker exec -it myredis  /bin/bash

执行 docker exec -it 容器名 /bin/bash 命令可以进入到启动的容器中;

exit 指令可以退出容器

7、在容器中使用 redis 客户端

redis-cli

进入容器后,使用以上命令启动 Redis 客户端,将连接到您的本地 Redis 服务器。

如果是连接其他服务器的 redis,则需要加参数(主机地址、端口号、密码)

redis-cli -h xx.xxx.xx.xxx -p 6379 -a xxx

8、使用 Redis Desktop Manager 客户端进行连接


注意

  • 当启动容器端口报错时,可以通过netstat -lntp | grep 6379查看哪个程序在占用
  • 可以通过 sudo kill 6379 杀掉占用端口的程序
  • 如果使用阿里云等,请务必把相应端口打开

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 超详细Docker Desktop下安装rocketmq的教程

    超详细Docker Desktop下安装rocketmq的教程

    这篇文章主要介绍了Docker Desktop下安装rocketmq,本文内容通过图文操作命令给大家讲解的非常详细,需要的朋友可以参考下
    2021-10-10
  • 详解使用docker搭建kafka环境

    详解使用docker搭建kafka环境

    本篇文章主要介绍了详解使用docker搭建kafka环境 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 在windows下的安装Docker的教程

    在windows下的安装Docker的教程

    这篇文章主要介绍了在windows下的安装Docker的教程,注意只能是64的系统,需要的朋友可以参考下
    2015-12-12
  • docker中修改镜像容器的存放目录的方法

    docker中修改镜像容器的存放目录的方法

    本篇文章主要介绍了docker中修改镜像容器的存放目录的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • docker compose 使用教程

    docker compose 使用教程

    这篇文章主要介绍了docker compose 使用教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • docker-compose启动mongo容器的使用

    docker-compose启动mongo容器的使用

    这篇文章主要介绍了docker-compose启动mongo容器的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 用Docker swarm快速部署Nebula Graph集群的教程

    用Docker swarm快速部署Nebula Graph集群的教程

    这篇文章主要介绍了用Docker swarm快速部署Nebula Graph集群的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Docker中数据卷(volume)管理的两种方式

    Docker中数据卷(volume)管理的两种方式

    数据卷有两种形式,一种是容器中的某个目录,它可以被别的容器引用,只要有一个容器引用了这个数据卷,数据就不会被删除;另一种数据卷是将容器中的数据卷和宿主机的目录进行挂载。 数据卷可以在多个容器之间共享,修改数据卷不会影响镜像
    2021-07-07
  • Docker报错denied:requested access to the resource is denied解决

    Docker报错denied:requested access to the r

    这篇文章主要为大家介绍了Docker报错denied:requested access to the resource is denied解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 深入理解Docker Load和Docker Import的区别详解

    深入理解Docker Load和Docker Import的区别详解

    Docker是一个流行的容器化平台,提供了丰富的命令和功能,其中docker load和docker import是两个常用的命令,用于加载Docker镜像,这篇文章主要给大家介绍了关于Docker Load和Docker Import区别的相关资料,需要的朋友可以参考下
    2024-03-03

最新评论