运行 docker 网络模式主机上的 Redis
Run Redis on docker network mode host
我想 运行 网络模式作为 docker 中 Redis 集群的主机。
在redis image of docker hub中执行的命令,写法如下
docker run --name some-redis -d redis
通过给出 -p 选项执行端口映射后,如下所示:
docker run -p 6379:6379 --name some-redis redis
如果你连接到redis-cli,连接是好的。
> redis-cli -p 6379
127.0.0.1:6379>
如果用docker容器查看网络,检查some-redis,默认网络模式是bridge。
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
我试着继续主机。
docker run --net=host -p 6379:6379 --name some-redis redis
WARNING: Published ports are discarded when using host network mode
如果显示诸如, 之类的短语,则表示未公开端口。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f4edb2c4f8a redis "docker-entrypoint.s…" 5 seconds ago Up 4 seconds some-redis
当然,你连redis-cli都连不上
> redis-cli -p 6379
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
看上面的问题,好像端口应该是自动的public.
如何在 docker redis 中公开网络模式主机的端口?
检查你的机器,--net=host
只能在 linux 中工作。
https://docs.docker.com/network/host/
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.
我想 运行 网络模式作为 docker 中 Redis 集群的主机。
在redis image of docker hub中执行的命令,写法如下
docker run --name some-redis -d redis
通过给出 -p 选项执行端口映射后,如下所示:
docker run -p 6379:6379 --name some-redis redis
如果你连接到redis-cli,连接是好的。
> redis-cli -p 6379
127.0.0.1:6379>
如果用docker容器查看网络,检查some-redis,默认网络模式是bridge。
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
我试着继续主机。
docker run --net=host -p 6379:6379 --name some-redis redis
WARNING: Published ports are discarded when using host network mode
如果显示诸如, 之类的短语,则表示未公开端口。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6f4edb2c4f8a redis "docker-entrypoint.s…" 5 seconds ago Up 4 seconds some-redis
当然,你连redis-cli都连不上
> redis-cli -p 6379
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>
看上面的问题,好像端口应该是自动的public.
如何在 docker redis 中公开网络模式主机的端口?
检查你的机器,--net=host
只能在 linux 中工作。
https://docs.docker.com/network/host/
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.