如何修改docker中redis容器的redis.conf

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改docker中redis容器的redis.conf相关的知识,希望对你有一定的参考价值。

参考技术A 我看到这个问题首先想到的就是去docker hub搜官方的redis镜像.然后看了redis的Dockerfile。官方的方法是(对应楼上的1)Additionally, If you want to use your own redis.conf ...You can create your own Dockerfile that adds a redis.conf from the context into /data/, like soFROM redisCOPY redis.conf /usr/local/etc/redis/redis.confCMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]或者$ docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf这个镜像启动的时候就默认运行redis-server了。无法通过docker run -it redis修改。试图docker run -it redis /bin/bash进去覆盖默认的启动命令然后添加自己的配置就好了。希望能帮到你

如何从 Docker 容器连接到本地 Redis 服务器?

【中文标题】如何从 Docker 容器连接到本地 Redis 服务器?【英文标题】:How to connect to a local Redis server from a Docker container? 【发布时间】:2018-05-02 18:02:15 【问题描述】:

我正在尝试从 Docker 容器内部连接到我机器上的本地 Redis 服务器。到目前为止我做了什么:

Redis 正在我的机器上运行(可以通过 redis-cli 连接到它) 启动了一个交互式 Docker 容器(来自 Ubuntu 映像) 在容器内安装了“redis-tool” 尝试通过 redis-cli 连接到 Redis: > redis-cli -h 172.17.0.3 -p 6379 (通过容器内的ifconfig获取IP地址) 收到错误提示“连接被拒绝”

为了获得有效的连接,我没有想到什么技巧?

我已经尝试在我的redis.conf 中设置“绑定 0.0.0.0”,但这没有任何效果。我也尝试在运行容器时将端口 6379 转发到 6379,但我收到错误消息,指出该地址已在使用中。

提前致谢!

【问题讨论】:

【参考方案1】:

您不应该连接到容器的 IP 地址,而是主机的 IP(您在主机上看到的 Docker 桥接器的 IP)。看你的问题应该是172.17.0.1

【讨论】:

非常感谢!【参考方案2】:

你可以这样做:

获取主机的 IP,例如在环境变量$host_ip 运行 docker 命令,例如:
docker run -it --add-host redis_server:$host_ip ubuntu bash

现在,您可以从容器内部通过主机名redis_server 访问 Redis 服务器,该主机名在您的主机上运行。

【讨论】:

【参考方案3】:

只要使用这个命令

"docker run --network=host -p port:port IMAGE"

不仅是 Redis,您在 localhost 上运行的所有服务都可以在 docker 上使用。

【讨论】:

【参考方案4】:

在容器之间使用链接docker run -d --name=redis_xyz redis

docker run -it --link redis_xyz:redis_local redis_cli_image redis-cli -h redis_local

【讨论】:

感谢您的评论,但我不想在容器内运行 redis! 对不起。所以尝试在 redis-cli 容器中:redis-cli -h 0.0.0.0 或 redis-cli -h HostIP。 172.17.0.3 是容器 IP。使用 -h HostIP 或 -h 0.0.0.0

以上是关于如何修改docker中redis容器的redis.conf的主要内容,如果未能解决你的问题,请参考以下文章

Docker中的RedisRabbitMQ及Nacos的密码修改

Docker中的RedisRabbitMQ及Nacos的密码修改

Docker中的RedisRabbitMQ及Nacos的密码修改

如何使用ssl设置Docker redis容器

如何从 Docker 容器连接到本地 Redis 服务器?

docker-compose容器中redis权限问题