Ein Memo zum Ausführen von Azure-Funktionen × Node.js × Typescript mit Docker in der lokalen virtuellen Umgebung und zum Debuggen von VSCode

Überblick

Als ich das Azure-Lernprogramm "[Azure-Funktionen aus Visual Studio-Code bereitstellen] [* 1]" ausführte Beim lokalen Ausführen der Funktion ist ein Fehler aufgetreten. Da dies von der Knotenversion abhängt, wird die Funktion lokal in Docker ausgeführt. Das Überprüfen der Debug-Ausführungseinstellungen hat lange gedauert, daher werde ich es als Memorandum belassen.

Quelle an dieser Stelle

Umgebung

Werkzeugvorbereitung

choco install azure-functions-core-tools-3 --params "'/x64'" -y

Quelle

Docker-Einstellungen

docker/functions/Dockerfile


# docker-Holen Sie sich einen Container mit Knoten vom Hub
# https://hub.docker.com/_/node/
FROM node:12.19.0
WORKDIR /app
#Werkzeuginstallation
RUN npm i -g azure-functions-core-tools@3 --unsafe-perm true
#Funktionen installieren
COPY ./package.json /app/package.json
RUN npm install

docker/docker-compose.yml


version: "3.8"
services:
  az-functions:
    build: ./functions
    volumes:
      - ../HttpExample:/app/HttpExample
      - ../tsconfig.json:/app/tsconfig.json
      - ../local.settings.json:/app/local.settings.json
    ports:
      - 9229:9229
      - 7071:7071
    working_dir: /app
    command: [npm, run, start]

Debug-Einstellungen

Beim Debuggen von vscode konnte ich es nicht genau so machen, wie es beim Erstellen eines Projekts erstellt wurde.

json:.vscode/launch.json


{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Vagrant - Docker: Attach to Node Functions",
      "type": "node",
      "request": "attach",
      "remoteRoot": "/app",
      "address": "192.168.50.10",
      "port": 9229,
      "protocol": "auto",
    }
  ]
}

json:local.settings.json


{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "languageWorkers:node:arguments": "--inspect=0.0.0.0:9229"
  }
}

Referenz

[Docker + Node.js Debug Visual Studio Code] [* 5] [Bereitstellen von Azure-Funktionen aus Visual Studio-Code] [* 1] [Funktionen Local Debug] [* 2] Azure Functions Core Tools node debug guide [Wenn https in der Quellliste nicht in Debian abgerufen werden kann] [* 4] lsb_release: command not found in latest Ubuntu Docker container [Debug Node.js-Anwendung mit Visual Studio-Code (lokaler Prozessanhang / Remote-Debug)] [* 6] How to set inspect port for nodejs [Entwickelbare debugable node.js App beginnend mit Visual Studio Code (Tutorial bis zur Hallo Welt mit Express + EJS)] [* 8]

Recommended Posts

Ein Memo zum Ausführen von Azure-Funktionen × Node.js × Typescript mit Docker in der lokalen virtuellen Umgebung und zum Debuggen von VSCode
Führen Sie die Docker-Umgebung Rails MySQL auf Heroku aus. Entwickeln und verstecken Sie die Twitter-API
Ein Befehl, der die lokale Docker-Umgebung definitiv bereinigt
Auf die Version von Ruby, die standardmäßig auf dem Mac installiert war, wurde verwiesen, nicht von rbenv