2017-03-13 17 views
3

Dockerを初めて使用してNodejsプロジェクトをセットアップしていて、デバッガをアプリケーションに接続できません。ここDockerコンテナ内のnodejsアプリケーションのデバッグ

は私のドッキングウィンドウのファイルがあります:

FROM node:latest 
LABEL Name=graphql Version=0.1.0 

# Create app directory 
RUN mkdir -p /graphql 
WORKDIR /graphql 

# Install app dependencies 
COPY package.json /graphql 
RUN npm install -g gulp 
RUN npm install 

# Bundle app source 
COPY . /graphql 

EXPOSE 3000 
EXPOSE 5858 
EXPOSE 8000 

CMD gulp 

とコン1:

version: '2' 

services: 
    graphql: 
    image: graphql:latest 
    container_name: apollo-graphql 
    build: 
     context: . 
     dockerfile: dockerfile 
    environment: 
     NODE_ENV: development 
    tty: true 
    ports: 
     - 3000:3000 
     - 5858:5858 
     - 8000:8000 
    volumes: 
     - .:/graphql 
    ## set your startup file here 
    command: gulp 

一気のタスクは、現在このようnodemon起動されます。

gulp.task('serve', ['bundle'],() => { 

    stream = nodemon({ 
     execMap: { 
      js: 'node --debug=5858' 
     }, 
     script: 'build/server.bundle.js', 
     verbose: true 
    }) 

これは、すべてを実行しているようです出力は以下のようになります。Debugger listening on 127.0.0.1:5858 しかし、私はそれに接続するように見えることはできません。私はVScodeを使用していますし、私の打ち上げの設定ファイルは以下の通りです:私は新しいプロトコルを使用するように--inspectする--debugフラグを変更しても

"name": "Attach", 
"type": "node", 
"request": "attach", 
"address": "127.0.0.1", 
"port": 5858, 
"localRoot": "${workspaceRoot}/graphql/", 
"remoteRoot": "/graphql/", 

、私はまだクロームデベロッパーツールで開くことができません。

私はいくつかのチュートリアルを見てきましたが、私はここでやっていることをしっかりしていますが、ここで何か不足していますか? StackOverflowについて、node-inspectで2番目のコンテナを実行する方法についていくつか見てきましたが、私は物事を単純なものにしようとしているので、むしろそのルートに行きません。実際、この種の設定はこれらのチュートリアルでは機能しているようですが、どうしてそれは私にとってはうまくいかないのですか?

ありがとうございます!

+0

問題を解決できましたか? docker-machine内でDockerイメージを実行した場合の1つの潜在的な問題は、別のアドレスを指定する必要があることです( 'docker-machine env'コマンドを使用して取得できます)。私の場合、それは192.168.99.100です。しかし、私はどのプロトコルを使用していても、最新の 'node'イメージで同様の問題を観察します。興味深いのは、Windowsでローカルに実行しているときに同じコードをデバッグできることです。 – gerichhome

答えて

0

私はこの構成を数回確認してきましたし、ここでの問題

を再現することはできませんが、私の全体の.vscode/launch.jsonファイルが

ある
{ 
    // Use IntelliSense to learn about possible Node.js debug attributes. 
    // Hover to view descriptions of existing attributes. 
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "type": "node", 
      "request": "attach", 
      "name": "Attach to Docker container", 
      "port": 5858, 
      "address": "127.0.0.1", 
      "localRoot": "${workspaceRoot}", 
      "remoteRoot": "/var/app" 
     } 
    ] 
} 

私は考えることができる唯一のことはしていますVSコードで「Attach」デバッグモードを実行していることを確認してください。

そうでなければ、私は無知です。それは私のために働いているようだ。

関連する問題