2017-01-13 28 views
0

私はDockerを初めて使用しているため、質問を正しくフレームすることができない場合があります。ドッカーnode.jsアプリケーションを実行することができません

以下のコマンドを使用してノードjsアプリケーション用のイメージを作成しました。

docker build -t ramakishore/nodeapp . 

私は私のdockerFileの

CONTAINER ID  IMAGE     COMMAND    CREATED    STATUS    PORTS      NAMES 
ca64b61afca7  ramakishore/nodeapp "npm start"   6 minutes ago  Up 6 minutes  0.0.0.0:49160->8080/tcp gigantic_swanson 

内容が

FROM node:boron 

# Create app directory 
RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

# Install app dependencies 
COPY package.json /usr/src/app/ 
RUN npm install 

# Bundle app source 
COPY . /usr/src/app 

EXPOSE 8080 
CMD [ "npm", "start" ] 

ある

docker run -p 49160:8080 -d ramakishore/nodeapp 

コマンド以下ドッカpsコマンドを表示を実行することにより、このイメージのコンテナを作成しました私は01をタイプするクロムの、私はノードページが表示されることを期待していましたが、代わりに "このサイトに到達できません"と表示されます。

私がやっている間違いは何ですか。

+2

http:// localhost:49160あなたのポートは... – opHASnoNAME

+0

for localhost:49160同じ問題.. – refactor

+0

あなたはどんな環境にいますか?あなたは窓にドッカーを使用していますか窓にドッカーを使用していますか? Windows上でドッカーを使用している場合は、バーチャルボックスに仮想マッシンがあり、次にlocalhostにアクセスできない場合、バーチャルマシーンのアドレスに移動する必要があります – Fore

答えて

0

まず、私はあなたのアプリケーションがコンテナを入力して実行しているものを見ることで、あなたのドッキングウィンドウコンテナ内で実行されているかどうかをチェックします:

$ docker exec -ti ca64b61afca7 
$ ps aux 

そして、それが正しいポートでリッスンしています確認してください(と)0.0.0.0に:

$ netstat -tunlp 

次の私は、コンテナ内部からカールをしようとするだろう:

$ curl localhost:8080 

これが有効な場合、アプリは正常に動作しており、コンテナとホストの間に問題があります。

次の私は、ドッキングウィンドウコンテナ(ctrl + d)を終了し、ホストからアプリをヒットしようとする:

$ curl localhost:49160 

:あなたは、MacやWindowsを使っているのであれば、あなたがヒットする必要があるかもしれませんドッキングウィンドウのホストのIPアドレス - あなたがecho $DOCKER_HOST(またはWindows echo %DOCKER_HOST%上を実行して、このIPを見つけることができます

例えば、あなたのDOCKER_HOSTは、あなたがどうなる192.168.1.50されている場合:。

curl 192.168.1.50:49160 
+0

"localhost"の代わりに "ip"を使用すると、今すぐ動作しています...ありがとう – refactor

関連する問題