2015-02-13 5 views
0

Я новичок в Докере. Я использую Mac, следовательно, установил Docker в виртуальной коробке Windows HortonWorks.Docker: Невозможно указать порт для работающего контейнера

Я пытаюсь создать 2 контейнера из образа базы Ubuntu. Один контейнер запускает nodejs на нем, а другой - с mysql.

Я могу создать контейнер, и он подпадает под Docker ps, но когда я пытаюсь указать порт для этого контейнера, он не показывает мне никаких ошибок, но порт не устанавливается.

Команда используется для добавления порта к работающему контейнера:

docker run -p 8080:8080 nodejsapp 

где узел jsapp мое имя Изображение 1 контейнера.

Любая помощь была бы действительно оценена. Благодарю.

+0

уточнили вы '8080' ПОДВЕРГАТЬ в вашем Dockerfile? – loganfsmyth

+0

@loganfsmyth: если я правильно понимаю это, 'EXPOSE' является« подмножеством »аргумента' -p', указанным OP, так что это не должно быть причиной в этом случае, правильно? т.е. если вы укажете '-p', который предоставляет и публикует порты. –

+0

Да, вы правы, моя ошибка. Не могли бы вы рассказать о том, какую команду вы запускаете для запуска ваших контейнеров, вывода docker ps и подробно о том, что заставляет вас сказать, что порт не установлен? – loganfsmyth

ответ

0

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

docker run -e NODE_PORT=8080 
Смежные вопросы