OS X(最新のアップデート10.12.5)のDocker(17.06)コンテナで簡単なNode.js/Express Webアプリケーションを実行しようとしています。私はlocalhost:3000
でアプリに接続できず、何が間違っているのか理解できません。 ip addr | grep global
をコンソールで実行しても見つからないVMのIPアドレスに接続しようとしました。公開されているOS XのDockerポートに接続できません
私のアプリは実際には、 'Node.js Express App'というタイプの新しいプロジェクトを作成するときにJetBrains Webstormが作成するフレームワークです。ホストシステム上でこのアプリケーションをnpm start
経由で実行し、localhost:3000
に接続することができます。
私はそのようにようにドッカーイメージを構築しました:
docker build -t joonas/meancopy .
を実行し、それ:
docker run -it -v `pwd`:/home/dev/src --name meancopy joonas/meancopy -p 3000:3000
とVMのシェルでスローされた後、私はnpm start
を実行すると、次を得る:
[[email protected]:~/src$ npm start
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm info lifecycle [email protected]~prestart: [email protected]
npm info lifecycle [email protected]~start: [email protected]
> [email protected] start /home/dev/src
> node ./bin/www
出力は、ホスト上で実行されているときと同じですが、「begin」の「npm info」行が必要ですnning。ただし、localhost:3000
でこのサーバーに接続できません。
私はまた、解決策をオンラインで検索するときに見つけたので、--expose=3000
と--net="host"
で画像を実行しようとしましたが、助けにならない(そして、私の理解がここでも必要ないはずです)。
どのようなヘルプやデバッグのアイデアも大歓迎です!