Skip to content

Node:Docker

Node와 Docker의 디버깅 방법.

Run docker

아래와 같이 Docker를 실행한다.

#!/usr/bin/env bash

PUBLISH_PORT=3000
INSPECT_PORT=9229
echo "Publish web: http://localhost:$PUBLISH_PORT/"
echo "Inspect port: $INSPECT_PORT"

docker run --rm -it \
    -v $PWD:/cycloud-admin \
    -w /cycloud-admin \
    -p $PUBLISH_PORT:3000 \
    -p $INSPECT_PORT:9229 \
    node:8.11 \
    node --inspect=0.0.0.0:9229 app.js
CODE=$?

echo "Done ($CODE)."

IDE

Visual Studio Code에서 디버깅 할 경우 .vscode/launch.json파일을 아래와 같이 추가한다.

{
    // IntelliSense를 사용하여 가능한 특성에 대해 알아보세요.
    // 기존 특성에 대한 설명을 보려면 가리킵니다.
    // 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요.
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "attach",
            "name": "Docker: Attach to Node",
            "port": 9229,
            "address": "localhost",
            "localRoot": "${workspaceFolder}",
            "remoteRoot": "/cycloud-admin",
            "protocol": "inspector"
        }
    ]
}

See also