Подключение экспресс-контейнера к контейнеру Монго, который имеет объем - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь создать среднее приложение на основе этого репозитория , я разделил API в контейнере Express и внешний интерфейс в Angular.

Теперь я пытаюсь создать базу данных из официального образа монго, и она работает как шарм.Однако, когда я пытаюсь добавить том для сохранения данных, я получаю следующую ошибку:

express_1 |Не удается подключиться к базе данныхMongoNetworkError: не удалось подключиться к серверу [mongo: 27017] при первом подключении [MongoNetworkError: connect ECONNREFUSED 172.31.0.2:27017].

Я что-то не так делаю?

Вот мой файл docker-compose:

version: '3'

networks:
  my_network:
    driver: bridge

services:
  angular:
    build: angular-app
    links:
      - express
    ports:
      - "5555:5555"
    networks:
      - my_network

  express:
    build: express-app
    links:
      - mongo
    ports:
      - "3000:3000"
    networks:
      - my_network

  mongo:
    image: mongo
    environment:
      - MONGO_DATA_DIR=/data/db
    volumes:
      - "./data/db:/data/db"
    ports:
      - "27017:27017"
    networks:
      my_network:
        aliases:
          - mongo

А вот мой коннектор mongoose:

mongodb://mongo:27017/ng7crud

Заранее спасибо!

РЕДАКТИРОВАТЬ: Какспросил @michalhosna, результат docker-compose logs mongo:

Attaching to projet_mongo_1
mongo_1    | 2019-01-31T23:11:22.336+0000 I CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
mongo_1    | 2019-01-31T23:11:22.346+0000 I CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=2523b067e6fc
mongo_1    | 2019-01-31T23:11:22.346+0000 I CONTROL  [initandlisten] db version v4.0.5
mongo_1    | 2019-01-31T23:11:22.346+0000 I CONTROL  [initandlisten] git version: 3739429dd92b92d1b0ab120911a23d50bf03c412
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten] allocator: tcmalloc
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten] modules: none
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten] build environment:
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten]     distmod: ubuntu1604
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten]     distarch: x86_64
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten]     target_arch: x86_64
mongo_1    | 2019-01-31T23:11:22.347+0000 I CONTROL  [initandlisten] options: { net: { bindIpAll: true } }
mongo_1    | 2019-01-31T23:11:22.377+0000 I STORAGE  [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
mongo_1    | 2019-01-31T23:11:22.385+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=487M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),
mongo_1    | 2019-01-31T23:11:33.474+0000 I STORAGE  [initandlisten] WiredTiger message [1548976293:474858][1:0x7f935195fa40], txn-recover: Main recovery loop: starting at 1/24064 to 2/256
mongo_1    | 2019-01-31T23:11:34.376+0000 I STORAGE  [initandlisten] WiredTiger message [1548976294:376222][1:0x7f935195fa40], txn-recover: Recovering log 1 through 2
mongo_1    | 2019-01-31T23:11:35.031+0000 I STORAGE  [initandlisten] WiredTiger message [1548976295:31496][1:0x7f935195fa40], txn-recover: Recovering log 2 through 2
mongo_1    | 2019-01-31T23:11:35.086+0000 I STORAGE  [initandlisten] WiredTiger message [1548976295:86288][1:0x7f935195fa40], txn-recover: Set global recovery timestamp: 0
mongo_1    | 2019-01-31T23:11:35.141+0000 I RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
mongo_1    | 2019-01-31T23:11:35.231+0000 I CONTROL  [initandlisten] 
mongo_1    | 2019-01-31T23:11:35.231+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
mongo_1    | 2019-01-31T23:11:35.233+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
mongo_1    | 2019-01-31T23:11:35.236+0000 I CONTROL  [initandlisten] 
mongo_1    | 2019-01-31T23:11:35.306+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
mongo_1    | 2019-01-31T23:11:35.316+0000 I NETWORK  [initandlisten] waiting for connections on port 27017

РЕДАКТИРОВАТЬ 2: Кажется, что проблема с mongodb, windows и macOS (потому что они используют NTFS).
А пока я добавил:

volume:
  mongodata:

между сетями и службами в docker-compose.yml, и он работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...