2015-11-01 4 views
3

Я пытался подготовить изображение, содержащее MongoDB в Докер контейнере из следующих dockerfile:Bluemix IBM Контейнер с подключением MongoDB не удалось

# Dockerizing MongoDB: Dockerfile for building MongoDB images 
# Based on ubuntu:latest, installs MongoDB following the instructions from: 
# http://d...content-available-to-author-only...b.org/manual/tutorial/install-mongodb-on-ubuntu/ 

# Format: FROM repository[:version] 
FROM  ubuntu:latest 

# Format: MAINTAINER Name <[email protected]> 
MAINTAINER Name <[email protected]> 

# Installation: 
# Import MongoDB public GPG key AND create a MongoDB list file 
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 
RUN echo "deb http://r...content-available-to-author-only...b.org/apt/ubuntu  "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | tee/etc/apt/sources.list.d/mongodb-org-3.0.list 

# Update apt-get sources AND install MongoDB 
RUN apt-get update && apt-get install -y mongodb-org 

# Create the MongoDB data directory 
RUN mkdir -p /data/db 

# Expose port 27017 from the container to the host 
EXPOSE 27017 

# Set usr/bin/mongod as the dockerized entry-point application 
ENTRYPOINT ["/usr/bin/mongod"] 

После запуска его на месте, все работает отлично, но после запуска его на Bluemix и присвоение ему публичных IP-адрес, результаты попытки подключения к следующей ошибке:

$ mongo --host 134.168.37.176 
MongoDB shell version: 2.6.3 
connecting to: 134.168.37.176:27017/test 
2015-11-01T17:24:10.557+0100 Error: couldn't connect to server 134.168.37.176:27017 (134.168.37.176), connection attempt failed at src/mongo/shell/mongo.js:148 
exception: connect failed 

This is the image of the container configuraion in bluemix

Может вам скажите, почему я не могу установить соединение? Я делаю что-то неправильно?

ответ

1

Ошибка, возникающая из-за того, что порт 27017 не открыт в контейнерах IBM. Я предлагаю вам открыть билет поддержки с поддержкой IBM Bluemix и попросить открыть этот порт или вы можете проверить с помощью команды поддержки IBM Bluemix для альтернативного открытого порта, который вы также можете использовать.

Вы можете открыть тикет в следующей ссылке:

http://ibm.biz/bluemixsupport

+0

Есть ли опубликованный список всех открытых портов? –

+0

По соображениям безопасности это не публикуется снаружи. –

0

Я считаю, что вам придется использовать только частный IP для контейнера. ех. 10.x.x.x. Порт 27017 должен быть открыт, если ваше приложение также работает в контейнерах IBM. Я понимаю, что это может быть болью при тестировании этого локально на вашей собственной машине, и было бы проще просто открыть открытый порт IP-адреса 27017.

Смежные вопросы