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 仓库,故这里安装的是最新稳定版

在Linux上使用Docker启动Redis并实现远程访问

可以查看所有仓库中所有 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)&
ndash;
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是一个流行的容器化平台,它让我们能够更有效地管理和部署应用程序和服务。在本篇文章中,我们将介绍如何使用Docker在Linux上启动Redis,并实现远程访问。为了更好地理解操作步骤,我们将分为三段介绍该过程。
一、安装Docker
要使用Docker,我们需要先在Linux系统上安装它。安装步骤简单,我们可以直接从Docker官网下载安装程序并运行。
首先,我们需要卸载旧版Docker。打开终端输入以下命令即可:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
然后,我们需要更新apt包:
$ sudo apt-get update
安装Docker:
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
为了获得Docker官方的GPG密钥,我们需要以root身份运行以下命令:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
然后,我们需要添加Docker的稳定存储库:
$ sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable\"
最后,安装Docker:
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
成功安装后,就可以通过如下命令检查Docker是否已成功安装,并查看Docker的版本信息:
$ docker version
二、启动Redis容器
接下来,我们需要启动Redis容器,让它在Docker环境中运行。
首先,我们需要从Docker Hub上获取Redis镜像。打开终端,输入以下命令拉取Redis镜像:
$ docker pull redis
然后,为Redis镜像创建一个新的容器(--name参数定义了容器的名称):
$ docker run -itd --name redis redis bash
最后,使用以下命令来确认我们的Redis容器已成功运行:
$ docker ps
三、远程访问Redis容器
现在,我们可以使用任何支持Redis的客户端工具连接并操作我们的Redis容器了。
打开终端,输入以下命令以连接到Redis容器:
$ docker exec -it redis redis-cli
如果想要从远程访问Redis容器,则需要将容器端口暴露出来,让外部主机可以连接到容器的端口。可以使用以下命令将容器端口暴露为公共的6379端口:
$ docker run -p 6379:6379 --name redis redis
现在,我们可以使用连接工具连接redis服务器了。例如,如果我们使用Redis Desktop Manager连接到Redis容器,则需要在连接指示器中输入容器的IP地址和6379端口号。
结论:
在Linux中使用Docker启动Redis并实现远程访问非常简单。本文介绍了如何在Linux上安装Docker、启动Redis容器并实现远程访问,这将为开发人员提供一种可扩展性高、维护便利的方式来管理和部署应用程序和服务。我们希望本文将有助于您了解如何使用Docker来管理您的应用程序和服务。