docker映射redis端口,web端无法访问
时间: 2023-08-07 14:09:06 浏览: 57
如果你在 Docker 中运行了 Redis 容器,并且想要通过 Web 界面访问该容器中的 Redis 服务,你需要将 Redis 容器的端口映射到宿主机上。比如,将 Redis 容器的 6379 端口映射到宿主机的 6379 端口上:
```
docker run -p 6379:6379 redis
```
然后,你可以使用宿主机上的 Redis 客户端来连接 Redis 服务,例如:
```
redis-cli -h localhost -p 6379
```
如果你仍然无法通过 Web 界面访问 Redis 服务,可能是因为你的防火墙阻止了对该端口的访问。你可以尝试关闭防火墙或配置防火墙规则来允许对 Redis 端口的访问。
相关问题
windows docker安装redis-sentinel 无法访问
如果您在 Windows 上使用 Docker 安装 Redis Sentinel,并且无法访问 Redis Sentinel,则可能是因为 Redis Sentinel 的端口在容器内部开放,但未映射到主机上。
要解决这个问题,您需要在运行容器时使用 `-p` 标志将 Redis Sentinel 的端口映射到主机上。例如,如果您的 Redis Sentinel 实例在容器内部使用端口 26379,您可以运行以下命令来启动容器并将端口映射到主机上的端口 6380:
```
docker run -p 6380:26379 redis-sentinel
```
这将使您可以通过主机上的端口 6380 访问 Redis Sentinel。请注意,如果您的主机上的端口 6380 已经被占用,则需要选择另一个可用端口。
另外,请确保您的 Redis Sentinel 配置正确,以确保它可以与主 Redis 实例通信,并将 Sentinel 命令发送到 Redis 实例。如果 Redis Sentinel 配置不正确,则可能导致无法访问 Redis Sentinel。
docker 部署 redis
以下是部署Redis的步骤:
1. 创建Redis数据目录
```shell
mkdir /docker/test/redis/data -p
```
2. 部署Redis容器
```shell
docker stop redis # 停止Redis容器
docker rm redis # 删除Redis容器
docker run --privileged=true --restart=always --name redis -p 6379:6379 -v /docker/test/redis/data:/data -d redis --requirepass "test520&"
```
其中,`--privileged=true`参数是为了让Redis容器拥有更高的权限,`--restart=always`参数是为了在Docker宿主机重启后自动启动Redis容器,`-p 6379:6379`参数是将Redis容器的6379端口映射到宿主机的6379端口,`-v /docker/test/redis/data:/data`参数是将Redis容器的数据目录挂载到宿主机的`/docker/test/redis/data`目录下,`--requirepass "test520&"`参数是设置Redis的密码为`test520&`。
3. 重新部署Redis容器并使用配置文件
```shell
docker stop redis # 停止Redis容器
docker rm redis # 删除Redis容器
docker run --privileged=true --restart=always --name redis -p 6379:6379 -v /docker/test/redis/data:/data -v /docker/test/redis/conf/redis.conf:/etc/redis/redis.conf -d redis --requirepass "test520&"
```
其中,`-v /docker/test/redis/conf/redis.conf:/etc/redis/redis.conf`参数是将Redis容器的配置文件挂载到宿主机的`/docker/test/redis/conf/redis.conf`目录下。