更改Mongo-express的8081端口

时间:2019-06-05 07:44:51

标签: mongodb docker docker-compose port docker-container

我正在使用新堆栈,上面装有mongo express,并且McAfee已在我的计算机上分配了8081端口,我无法禁用它,

所以我在docker-compose.yml上将其更改为443,我也尝试了其他方法

  mongo-express:
    image: mongo-express
    ports:
      - 443:443
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: tutu
      ME_CONFIG_MONGODB_ADMINPASSWORD: toto

但是当我docker-compose up -d的mongo express端口未完全设置为443时,我遇到了日志:

mongo-express_1  | Mongo Express server listening at http://0.0.0.0:8081

我在代理后面使用适用于Windows(10)的Docker,并且堆栈在同一网络上的另一台计算机上运行良好,并且也可以在家工作

我尝试重新启动Docker,以--force-recreate,删除容器并重新创建

我也使用了docker inspect ID,我明白了

"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "3fa04e921ee43231f30169efecda8356fa90e4d0cfff54c3b2151e649f2397d8",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "443/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "443"
                    }
                ],
                "8081/tcp": null
            },

我很确定堆栈未在运行,原因是我找不到解决方法

我也检查了这些主题:

How to run MongoDB and Mongo-express with docker-compose?

port number not change for docker-compose

也许我可以提供更多信息,但我不是Docker专家

1 个答案:

答案 0 :(得分:0)

默认情况下,SSL连接使用TCP端口443。 在您的情况下,服务器在端口8081(容器内部)上使用HTTP。

如果您仍然想使用443端口通过HTTP连接,则需要按以下步骤修复docker-compose:

mango-express:
    image: mango-express
    ports:
      - 443:8081

第一个参数是主机设置,第二个参数是容器内部的设置。您还可以指定IP地址,例如127.0.0.1:443:8081

端口映射与network_mode: host

不兼容

docker-compose ports