Изменение порта 8081 Mongo-express

Я работаю над новым стеком, на нем есть mongo express, а порт 8081 уже выделен McAfee на моем компьютере, и я не могу его отключить,

Поэтому я изменил его на 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

Я работаю на Docker для Windows (10) за прокси, и стек работает хорошо на другом компьютере в той же сети, и дома он тоже работает

Я попытался перезапустить 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
            },

Я почти уверен, что стек не работает из-за этого, но я не могу найти решение

Я также проверил эти темы:

Как запустить MongoDB и Mongo-express с помощью docker-compose ?

номер порта не меняется для docker-compose

Может быть, я могу предоставить больше информации, я не специалист по докеру


person Gilles    schedule 05.06.2019    source источник


Ответы (1)


По умолчанию SSL-соединение использует TCP-порт 443. В вашем случае сервер использует HTTP на порту 8081 (внутри контейнера).

Если вы все еще хотите использовать порт 443 для подключения по HTTP, вам нужно исправить docker-compose следующим образом:

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

Первый аргумент — это настройки хоста, второй аргумент — это настройки внутри контейнера. Также можно указать ip адрес, например 127.0.0.1:443:8081

Сопоставление портов несовместимо с network_mode: host

порты docker-compose

person sergkhayr    schedule 05.06.2019
comment
Привет, я тоже пробовал это, но, к сожалению, не работает, могу ли я попробовать это с другим портом? Я не понимаю, какой порт я могу использовать, может быть - person Gilles; 05.06.2019
comment
Я проверил этот компоновочный файл: version: '2' services: mongo: image: mongo mongo-express: image: mongo-express ports: - 443:8081 links: - mongo он отлично работает на моей машине. Проверьте McAfee и убедитесь, что нужный порт открыт. - person sergkhayr; 05.06.2019
comment
Пробовал с 3009:8081 3009 открывается, но не работает и все равно получил mongo-express_1 | Mongo Express server listening at http://0.0.0.0:8081 - person Gilles; 05.06.2019
comment
Запустите команду docker ps. Если вы видите в колонке PORTS такое значение 0.0.0.0:3009->8081/tcp, все в порядке. монго-экспресс_1 | Сервер Mongo Express прослушивает 0.0.0.0:8081 в адресе контейнера - person sergkhayr; 05.06.2019
comment
Да, у меня есть 0.0.0.0:3009->8081/tcp, так что у меня другая проблема, я думаю - person Gilles; 05.06.2019