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

这篇文章主要介绍了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 杀掉占用端口的程序
  • 如果使用阿里云等,请务必把相应端口打开

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持0133技术站。

以上就是Linux上使用docker启动redis并远程访问的实现的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 站长技巧