【问题标题】:Run Redis on docker network mode host在 docker 网络模式主机上运行 Redis
【发布时间】:2021-06-16 15:09:45
【问题描述】:

我想在 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 container inspect some-redis 查看网络,默认的网络模式是桥接。

"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>

Docker container doesn't expose ports when --net=host is mentioned in the docker run command

看上面的问题,好像端口应该是自动公开的。

如何在 docker redis 的网络模式主机中公开端口?

【问题讨论】:

    标签: docker redis redis-cluster docker-network


    【解决方案1】:

    检查你的机器,--net=host 仅适用于 linux。 https://docs.docker.com/network/host/

    主机网络驱动程序仅适用于 Linux 主机,不支持 Docker Desktop for Mac、Docker Desktop for Windows 或 Docker EE for Windows Server。

    【讨论】:

    • 天哪..我在wsl上运行。我不知道
       Docker Desktop for Mac 和 Docker Desktop for Windows 不支持,
      非常感谢您的回答。
    • 很高兴为您提供帮助。你可以接受我的回答。
    猜你喜欢
    • 2019-08-25
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多