запустите dong Монго с помощью докера и получите к нему доступ, используя Robo 3T - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь запустить mongo db с помощью docker с помощью следующей команды,

sudo docker run -v /var/lib/mongo:/data/db -v /home/naggappan/mongo.conf:/etc/mongo.conf -p 27017:27017 mongo -f /etc/mongo.conf

И я получаю следующую ошибку в сообщениях системного журнала,

May  2 10:19:42 d-mongo-db-dev.india.ks.net kernel: overlayfs: upper fs needs to support d_type. This is an invalid configuration.
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: overlayfs: upper fs needs to support d_type. This is an invalid configuration.
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: overlayfs: upper fs needs to support d_type. This is an invalid configuration.
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered blocking state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered disabled state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: device vethef7446b entered promiscuous mode
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: IPv6: ADDRCONF(NETDEV_UP): vethef7446b: link is not ready
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered blocking state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered forwarding state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered disabled state
May  2 10:19:43 d-mongo-db-dev.india.ks.net systemd: Started libcontainer container 7adf209c744c2753d46d6bcbe5623d6f0a56ac9bb71cc61922a056563daf4552.
May  2 10:19:43 d-mongo-db-dev.india.ks.net systemd: Starting libcontainer container 7adf209c744c2753d46d6bcbe5623d6f0a56ac9bb71cc61922a056563daf4552.
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: SELinux: mount invalid.  Same superblock, different security settings for (dev mqueue, type mqueue)
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: IPv6: ADDRCONF(NETDEV_CHANGE): vethef7446b: link becomes ready
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered blocking state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered forwarding state
May  2 10:19:43 d-mongo-db-dev.india.ks.net dockerd-current: time="2018-05-02T10:19:43.615971849Z" level=error msg="containerd: deleting container" error="exit status 1: \"container 7adf209c744c2753d46d6bcbe5623d6f0a56ac9bb71cc61922a056563daf4552 does not exist\\none or more of the container deletions failed\\n\""
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered disabled state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered disabled state
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: device vethef7446b left promiscuous mode
May  2 10:19:43 d-mongo-db-dev.india.ks.net kernel: docker0: port 1(vethef7446b) entered disabled state
May  2 10:19:43 d-mongo-db-dev.india.ks.net dockerd-current: time="2018-05-02T10:19:43.822616722Z" level=warning msg="7adf209c744c2753d46d6bcbe5623d6f0a56ac9bb71cc61922a056563daf4552 cleanup: failed to unmount secrets: invalid argument"

Но если я просто попытаюсь перенаправить порт с помощью следующей команды, то все будет нормально,

sudo docker run -d -p 27017:27017 mongo

И проблема с вышеприведенной командой заключается в том, что служба mongo db недоступна с другой машины, используя такие инструменты пользовательского интерфейса, как Robo3T. соединение работает успешно, но не удается с последующей ошибкой, поскольку оно привязывается к 127.0.0.1. Чтобы изменить это, мне нужно сделать ввод конфигурационного файла, как указано выше, и получить ошибку

May  2 10:12:13 d-mongo-db-dev.india.ks.net journal: 2018-05-02T10:12:13.025+0000 I NETWORK  [listener] connection accepted from 15.143.35.10:12729 #3 (2 connections now open)
May  2 10:12:13 d-mongo-db-dev.india.ks.net journal: 2018-05-02T10:12:13.036+0000 I NETWORK  [conn3] end connection 15.143.35.10:12729 (1 connection now open)

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Я решил эту проблему, используя docker-compose для этого yml (изменено с суть wesleybliss ):

version: '2'
services:
mongodb:
    image: mongo:latest
    container_name: "mongodb"
    environment:
      - MONGO_DATA_DIR=/data/db
      - MONGO_LOG_DIR=/dev/null
    volumes:
      - ./data/db:/data/db
    ports:
        - 27017:27017
    command: mongod --smallfiles --logpath=/dev/null # --quiet

После запуска этой конфигурации с помощью 'docker-compose up -d' (sudo, если необходимо), я связал mongodb на 0.0.0.0. Доступ к нему можно получить с внешнего ip.

0 голосов
/ 02 мая 2018

О проблемах файловой системы: Mongodb предъявляет особые требования к файловой системе своей ОС, как описано в Замечания по эксплуатации MongoDB . Вам нужно будет проверить файловую систему хост-системы и при необходимости изменить ее, чтобы убедиться, что она совместима с MongoDB.

Об обеспечении доступности услуги с других машин; вам нужно будет просмотреть параметр конфигурации bindIp , чтобы убедиться, что он правильно настроен для доступа к внешним интерфейсам, а также 127.0.0.1.

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