Пн go Express сервер прослушивает на http://0.0.0.0: 8081 - PullRequest
0 голосов
/ 21 февраля 2020
version: "3.3"
services:
    mongodb:
        image: mongo:latest
        container_name: "mongo"
        environment:
            MONGO_INITDB_ROOT_USERNAME: root
            MONGO_INITDB_ROOT_PASSWORD: rootpassword
        ports:
            - 27017:27017
    mongo-express:
        image: mongo-express:latest
        container_name: mongoexpressweb
        environment:
            - ME_CONFIG_OPTIONS_EDITORTHEME=ambiance
            - ME_CONFIG_MONGODB_ENABLE_ADMIN=true
            - ME_CONFIG_MONGODB_AUTH_DATABASE=admin
            - ME_CONFIG_MONGODB_AUTH_USERNAME=root
            - ME_CONFIG_MONGODB_AUTH_PASSWORD=rootpassword
            - ME_CONFIG_MONGODB_ADMINUSERNAME=root
            - ME_CONFIG_MONGODB_ADMINPASSWORD=rootpassword
            - ME_CONFIG_BASICAUTH_USERNAME=root
            - ME_CONFIG_BASICAUTH_PASSWORD=root
        ports:
            - 8081:8081
        links:
            - mongodb
        depends_on:
            - mongodb

Я уже закодировал свой файл docker -compose.yaml, как указано выше. Оба бегут, когда потом. Однако mon go - express содержит ошибку 403. И когда я проверяю просмотр логов в Visual Studio Code. Я вижу эту ошибку:

Waiting for mongo:27017...
Waiting for mongo:27017...
/docker-entrypoint.sh: connect: Connection refused
/docker-entrypoint.sh: line 14: /dev/tcp/mongo/27017: Connection refused
Fri Feb 21 07:32:10 UTC 2020 retrying to connect to mongo:27017 (2/5)
/docker-entrypoint.sh: connect: Connection refused
/docker-entrypoint.sh: line 14: /dev/tcp/mongo/27017: Connection refused
Fri Feb 21 07:32:11 UTC 2020 retrying to connect to mongo:27017 (3/5)
/docker-entrypoint.sh: connect: Connection refused
/docker-entrypoint.sh: line 14: /dev/tcp/mongo/27017: Connection refused
Fri Feb 21 07:32:12 UTC 2020 retrying to connect to mongo:27017 (4/5)
/docker-entrypoint.sh: connect: Connection refused
/docker-entrypoint.sh: line 14: /dev/tcp/mongo/27017: Connection refused
Fri Feb 21 07:32:13 UTC 2020 retrying to connect to mongo:27017 (5/5)
/docker-entrypoint.sh: connect: Connection refused
/docker-entrypoint.sh: line 14: /dev/tcp/mongo/27017: Connection refused
Welcome to mongo-express
------------------------


Mongo Express server listening at http://0.0.0.0:8081
Server is open to allow connections from anyone (0.0.0.0)
Database connected
Admin Database connected

1 Ответ

0 голосов
/ 21 февраля 2020

docker -compose.yml

version: "3.3"

services:
    mongodb:
        image: mongo:latest
        container_name: "mongo"
        environment:
            MONGO_INITDB_ROOT_USERNAME: root
            MONGO_INITDB_ROOT_PASSWORD: rootpassword
        ports:
            - 27017:27017
        networks:       # Add this <--
            - random    # Add this <--
    mongo-express:
        image: mongo-express:latest
        container_name: mongoexpressweb
        environment:
            - ME_CONFIG_OPTIONS_EDITORTHEME=ambiance
            - ME_CONFIG_MONGODB_ENABLE_ADMIN=true
            - ME_CONFIG_MONGODB_AUTH_DATABASE=admin
            - ME_CONFIG_MONGODB_AUTH_USERNAME=root
            - ME_CONFIG_MONGODB_AUTH_PASSWORD=rootpassword
            - ME_CONFIG_MONGODB_ADMINUSERNAME=root
            - ME_CONFIG_MONGODB_ADMINPASSWORD=rootpassword
            - ME_CONFIG_BASICAUTH_USERNAME=root
            - ME_CONFIG_BASICAUTH_PASSWORD=root
        ports:
            - 8081:8081
        #links:         # you can remove this, deprecated
        #    - mongodb  # you can remove this, deprecated
        depends_on:
            - mongodb
        networks:       # Add this <--
            - random    # Add this <--

networks:   # Add this <--
    random: # Add this <--

Теперь, возможно, у вас возникла ошибка на самой Visual Studio, которая пытается подключиться к localhost, но вам нужно указать IP-адрес контейнера вместо localhost, чтобы найти он использует:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

На всякий случай в предоставленных вами журналах mon go - express успешно подключен к mongoDB (в конце)

...