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番目のコンテナを実行する方法についていくつか見てきましたが、私は物事を単純なものにしようとしているので、むしろそのルートに行きません。実際、この種の設定はこれらのチュートリアルでは機能しているようですが、どうしてそれは私にとってはうまくいかないのですか?
ありがとうございます!
問題を解決できましたか? docker-machine内でDockerイメージを実行した場合の1つの潜在的な問題は、別のアドレスを指定する必要があることです( 'docker-machine env'コマンドを使用して取得できます)。私の場合、それは192.168.99.100です。しかし、私はどのプロトコルを使用していても、最新の 'node'イメージで同様の問題を観察します。興味深いのは、Windowsでローカルに実行しているときに同じコードをデバッグできることです。 – gerichhome