2017-01-09 2 views
1

Я хочу сделать новое изображение Docker, которое содержит NodeJS и MongoDB. У меня есть nodeJS (последнее) изображение. Dockerfile являетсяСоставьте два изображения Docker в одном: NodeJS и MongoDB

FROM node 

RUN apt-get update 
RUN apt-get install -y mongodb 

EXPOSE 8800 
EXPORT 27017 

Если я построить его, он не работает на два порта (MongoDB: 27017, nodeJS: 8800). Нужно ли делать Dockerfile на изображении ubuntu, а не в узле Image?

FROM ubuntu:latest 
+0

На ваши комментарии в ответе Мохсена я могу предложить 'nodejs + 3rd party libs' как архитектуру и, следовательно, заголовок вопроса? –

+0

@qarma уверен. какие библиотеки вы собираетесь предложить? –

ответ

1

вы хотите запустить node сервер наряду с Mongo ли? это неправильно во многих уровнях!

Но если вы хотите использовать изображение node только для вашего базового изображения и ничего не нужно от узла, тогда идите с ним! но было бы лучше использовать изображение ubuntu, потому что оно занимает гораздо меньше места!

+0

Мое приложение nodeJS должно использовать команду оболочки «mongoimport», которая используется только в контейнере mongodb. Поэтому я хочу установить mongodb на изображение узла –

+2

, поэтому установите 'mongo-cli' на контейнер вашего узла! вам не нужно mongod для этого вопроса! –

+0

У mongo-client нет команды «mongoimport» ... Чтобы использовать эту команду в nodeJS, я могу создать дочерний процесс => http://stackoverflow.com/q/27813783/6810726. Таким образом, контейнеры mongodb и nodejs должны быть одинаковыми. –