Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Container Apps, kapsayıcılı JavaScript uygulamalarını bulutta çalıştırabilir ve uygulamalarınızı dağıtmaya yönelik esnek seçenekler sunar.
Konfigürasyon
Azure Container Apps, ortam değişkenlerini ayarlama, verimli Dockerfile'lar tasarlama ve uygulamanızın derleme sürecini düzenleme gibi etkili kapsayıcılama aracılığıyla JavaScript uygulamalarınızın dağıtımını akışa almanızı sağlar.
Ortam Değişkenleri
Ortam değişkenleri uygulamanızı yapılandırmak için çok önemlidir. Bu değişkenleri yerel olarak yönetmek ve Azure Key Vault gibi bir hizmetle üretimde güvenli bir şekilde yönetildiklerinden emin olmak için bir .env
dosya kullanın.
Aşağıdaki örnekte, uygulamanız için değişkenlerin nasıl oluşturulacağı gösterilmektedir.
# .env
NODE_ENV=production
PORT=3000
AZURE_COSMOS_DB_ENDPOINT=https://<YOUR_COSMOSDB_RESOURCE_NAME>.documents.azure.com:443/
Konteyner
İyi yapılandırılmış bir Dockerfile, uygulamanızı kapsayıcıya alma açısından önemlidir:
Temel Dockerfile kullanma: Birden çok proje ortak bir kurulumu paylaşıyorsa, bu yaygın adımları içeren bir temel Dockerfile oluşturabilirsiniz. Ardından her projenin Dockerfile dosyası bu temel görüntüyle
FROM
başlayabilir ve projeye özgü yapılandırmalar ekleyebilir.Derleme bağımsız değişkenlerinin parametreleştirilmesi: Dockerfile'ınızı daha esnek hale getirmek için derleme bağımsız değişkenlerini (
ARG
) kullanabilirsiniz. Geliştirme, ara ortam veya üretim için oluşturduğunuzda bu parametreler için farklı değerler geçirebilirsiniz.İyileştirilmiş Node.js temel görüntü: Uygun bir Node.js temel görüntü kullandığınızdan emin olun. Ek yükü azaltmak için Alp çeşitleri gibi daha küçük, iyileştirilmiş görüntüler kullanmayı göz önünde bulundurun.
En Az Dosya – Yalnızca Temel Bileşenleri Kopyala: Kapsayıcınıza yalnızca gerekli dosyaları kopyalamaya odaklanın.
.dockerignore
dosyası oluşturun, böylece geliştirme dosyaları.env
venode_modules
gibi yerlere kopyalanmamış olur. Bu dosya, geliştiricilerin gereksiz dosyaları kopyaladığı durumlarda derlemeleri hızlandırmaya yardımcı olur.Derleme ve çalışma zamanını çok aşamalı derlemelerle ayırın: Derleme ortamını çalışma zamanı ortamından ayırarak yalın bir son görüntü oluşturmak için çok aşamalı derlemeleri kullanın.
Derleme ve paketleme yoluyla yapıtları önceden oluşturma: Uygulama yapıtlarınızı çalışma zamanı aşamasına kopyalamadan önce önceden derleme (TypeScript derleme veya JavaScript paketleme gibi) görüntü boyutunu en aza indirir, kapsayıcı dağıtımını hızlandırabilir ve soğuk başlatma performansını iyileştirebilir. Dockerfile'ınızdaki yönergelerin dikkatli bir şekilde sıralanması, önbelleğe alma ve yeniden oluşturma sürelerini de iyileştirir.
Geliştirme ortamları için Docker Compose: Docker Compose, çok kapsayıcılı Docker uygulamaları tanımlamanızı ve çalıştırmanızı sağlar. Bu çok kapsayıcılı yaklaşım, geliştirme ortamlarını ayarlamak için kullanışlıdır. Oluşturma dosyasına derleme bağlamını ve Dockerfile'ı ekleyebilirsiniz. Bu kapsülleme düzeyi, gerektiğinde farklı hizmetler için farklı Dockerfile'lar kullanmanıza olanak tanır.
Temel Dockerfile
Bu dosya, Node.js görüntüleriniz için ortak bir başlangıç noktası görevi görür. Dockerfiles'da bu temel görüntüye başvuran bir FROM
yönergeyle kullanabilirsiniz. Görüntünün en son ve güvenli sürümünü desteklemek için bir sürüm numarası veya commit kullanın.
# Dockerfile.base
FROM node:22-alpine
# Set the working directory
WORKDIR /usr/src/app
# Define build arguments with default values
ARG PORT_DEFAULT=3000
ARG ENABLE_DEBUG_DEFAULT=false
# Set environment variables using the build arguments
ENV PORT=${PORT_DEFAULT}
ENV ENABLE_DEBUG=${ENABLE_DEBUG_DEFAULT}
# Copy package manifests and install dependencies
COPY package*.json ./
RUN npm install
# Expose the application and debugging ports
EXPOSE $PORT
EXPOSE 9229
# This image focuses on common steps; project-specific Dockerfiles can extend this.
Derleme işlemi sırasında bayrağını --build-arg
kullanarak değerleri geçirdiğinizde, geçirilen değerler Dockerfile dosyanızdaki sabit kodlanmış varsayılan değerleri geçersiz kılar.
Örneğin:
docker build \
--build-arg PORT_DEFAULT=4000 \
--build-arg ENABLE_DEBUG_DEFAULT=true \
--tag <IMAGE>:<TAG> \
--file Dockerfile.base .
Bu örnekte, ortam değişkenleri PORT
ve ENABLE_DEBUG
varsayılan değerleri yerine açık değerlere ayarlanır.
Kapsayıcı görüntüsü etiketleme kuralları, latest
kullanımı gibi, bir gelenektir.
Kapsayıcı görüntülerini etiketleme ve sürüm oluşturma önerileri hakkında daha fazla bilgi edinin.
Docker Compose ile geliştirme ortamını ayarlama
Aşağıdaki örnek yapılandırma, anlık yeniden yükleme ve yerel kaynak eşitleme için birim montajları ile birlikte ayrılmış bir geliştirme Dockerfile (Dockerfile.dev) kullanır.
version: "3.8"
services:
app:
build:
context: .
dockerfile: Dockerfile.base
args:
PORT_DEFAULT: ${PORT:-3000}
ENABLE_DEBUG_DEFAULT: ${ENABLE_DEBUG:-false}
ports:
- "${PORT:-3000}:3000"
- "9229:9229" # Expose debug port if needed
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
environment:
- NODE_ENV=development
- PORT=${PORT:-3000}
- ENABLE_DEBUG=${ENABLE_DEBUG:-false}
Docker Compose'u özel değerlerle başlatmak için, komut satırında ortam değişkenlerini dışarı aktarabilirsiniz. Örneğin:
PORT=4000 ENABLE_DEBUG=true docker compose up
Üretim Dockerfile
Bu çok aşamalı Dockerfile uygulamanızı oluşturur ve bir yalın çalışma zamanı görüntüsü oluşturur. Dosyanızın .dockerignore
halihazırda kaynak kodunuzda bulunduğundan emin olun, böylece COPY . .
komutu, üretim ortamınıza ihtiyaç duymadığınız geliştirme ortamına özgü dosyaları kopyalamaz.
# Stage 1: Builder
FROM node:22 AS build
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
# Build your project (e.g., compile TypeScript or bundle JavaScript)
RUN npm run build
# Stage 2: Runtime
FROM my-base-image:latest AS runtime
WORKDIR /usr/src/app
# Copy only the compiled output and essential files from the build stage
COPY --from=build /usr/src/app/dist ./dist
COPY --from=build /usr/src/app/package*.json ./
# Install only production dependencies
RUN npm ci --omit=dev
# Copy the entrypoint script for remote debugging
COPY entrypoint.sh /usr/src/app/entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh
# Expose the application port (using the PORT environment variable) and the debug port (9229)
EXPOSE $PORT
EXPOSE 9229
# Use the entrypoint script to conditionally enable debugging
ENTRYPOINT ["sh", "/usr/src/app/entrypoint.sh"]
Giriş noktası betiği , uzaktan hata ayıklama için kapsayıcı uygulamanıza bağlanmanızı sağlar.
Özel ortam değişkenleriyle yerleşik üretim görüntüsünden bir kapsayıcı çalıştırmak için şunu çalıştırın:
docker run \
--env PORT=4000 \
--env ENABLE_DEBUG=true \
--publish 4000:4000 \
--publish 9229:9229 \
<IMAGE>:<TAG>
Üretim derlemeleri için doğru sürüm etiketini kullandığınızdan emin olun, bu etiket latest
olmayabilir. Kapsayıcı imajı etiketleme yöntemleri, latest
gibi kullanımlar bir yöntemdir.
Kapsayıcı görüntülerini etiketleme ve sürüm oluşturma önerileri hakkında daha fazla bilgi edinin.
Dağıtım
Sürekli tümleştirmeyi/sürekli dağıtımı (CI/CD) desteklemek için GitHub Actions, Azure DevOps veya başka bir CI/CD aracını kullanarak dağıtım işlemini otomatikleştirmek için bir CI/CD işlem hattı ayarlayın.
# .github/workflows/deploy.yml
name: Deploy to Azure
on:
push:
branches:
- main
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
run: npm ci
- name: Build the app
run: npm run build
- name: Log in to Azure
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Deploy to Azure Container Apps
run: |
az containerapp up \
--name my-container-app \
--resource-group my-resource-group \
--image my-image:my_tag \
--environment my-environment \
--cpu 1 --memory 2Gi \
--env-vars NODE_ENV=production PORT=3000
Docker Kayıt Defteri'ni kullandığınızda kayıt defterinizde oturum açın ve Docker görüntülerinizi Azure Container Registry (ACR) veya Docker Hub gibi bir kapsayıcı kayıt defterine gönderin.
# Tag the image
docker tag \
<IMAGE>:<TAG> \
<AZURE_REGISTRY>.azurecr.io/<IMAGE>:<TAG>
# Push the image
docker push <AZURE_REGISTRY>.azurecr.io/<IMAGE>:<TAG>
Soğuk başlatmalar
Yalnızca temel kodu ve bağımlılıkları ekleyerek üretim derlemenizi iyileştirin. Yükünüzün mümkün olduğunca yalın olduğundan emin olmak için aşağıdaki yaklaşımlardan birini kullanın:
Çok aşamalı Docker derlemeleri veya paketleyicileri: Kapsayıcınız için mümkün olan en küçük yükü oluşturmanıza yardımcı olması için Webpack veya Rollup gibi derleme ve paketleme araçlarını kullanın. Yalnızca üretim için gerekenleri derleyip paketlediğinizde, kapsayıcınızın boyutunu en aza indirmeye ve soğuk başlangıç sürelerini iyileştirmeye yardımcı olursunuz.
Bağımlılıkları dikkatle yönetin: Yalnızca üretim kodunu çalıştırmak için gereken paketleri ekleyerek klasörünüzü
node_modules
yalın tutun. Geliştirme veya test bağımlılıklarınıdependencies
öğesininpackage.json
bölümünde listelemeyin. Kullanılmayan bağımlılıkları kaldırın vepackage.json
dosyanızın ve kilit dosyanızın tutarlı kaldığından emin olun.
Güvenlik
Azure Container Apps kullanan JavaScript geliştiricileri için güvenlikle ilgili dikkat edilmesi gerekenler arasında ortam değişkenlerinin güvenliğini sağlama (Azure Key Vault kullanma gibi), uygun sertifika yönetimiyle HTTPS sağlama, düzenli denetimlerle up-totarih bağımlılıklarını koruma ve tehditleri hızla algılamak ve yanıtlamak için sağlam günlüğe kaydetme ve izleme uygulama yer alır.
Güvenli ortam değişkenleri
Veritabanı bağlantı dizeleri ve API anahtarları gibi hassas bilgilerin güvenli bir şekilde depolandığından emin olun. Gizli dizileri ve ortam değişkenlerini güvenli bir şekilde yönetmek için Azure Key Vault'ı kullanın.
Bu komutu çalıştırmadan önce, <>
ile belirtilen yer tutucuları değerlerinizle değiştirdiğinizden emin olun.
az keyvault secret set \
--vault-name <KEY_VAULT_APP> \
--name "<SECRET_NAME>" \
--value "<CONNECTION_STRING>"
HTTPS ve sertifikalar
Uygulamanızın HTTPS üzerinden sunulduğuna emin olun. Azure Container Apps sertifikaları sizin için yönetebilir. Azure portalında özel etki alanınızı ve sertifikanızı yapılandırın.
Bağımlılık Yönetimi
Güvenlik açıklarını önlemek için bağımlılıklarınızı düzenli olarak güncelleştirin. Güvenlik açıklarını denetlemek için gibi npm audit
araçları kullanın.
npm audit
Hata işleme
Node.js uygulamanızda sağlam hata işleme uygulayın. Hataları düzgün bir şekilde işlemek için Express veya Fastify'da ara yazılımı kullanın.
// src/middleware/errorHandler.ts
import { Request, Response, NextFunction } from 'express';
export function errorHandler(err: any, req: Request, res: Response, next: NextFunction) {
console.error(err.stack);
res.status(500).send('Something broke!');
}
Zarif kapatmalar
Uygulamanızın düzgün bir şekilde kapatılması, uçuş içi isteklerin tamamlanmasını ve kaynakların doğru şekilde yayınlanmasını sağlamak için çok önemlidir. Bu, veri kaybını önlemeye yardımcı olur ve dağıtımlar veya ölçeği daraltma olayları sırasında sorunsuz bir kullanıcı deneyimi sağlar. Aşağıdaki örnekte, kapatma sinyallerini düzgün bir şekilde işlemek için Node.js ve Express kullanan bir yaklaşım gösterilmektedir.
import express from 'express';
import healthRouter from './health.js';
const app = express();
app.use(healthRouter);
const server = app.listen(process.env.PORT || 3000);
// Graceful shutdown
process.on('SIGTERM', () => {
console.log('SIGTERM received, shutting down...');
server.close(() => {
console.log('Server closed');
process.exit(0);
});
// Force close after 30s
setTimeout(() => {
console.error('Could not close connections in time, forcing shutdown');
process.exit(1);
}, 30000);
});
Ağaç kesimi
Azure Container Apps'te hem console.log
hem de console.error
çağrıları otomatik olarak yakalanır ve günlüğe kaydedilir. Azure Container Apps, uygulamanızdan standart çıkış (stdout
) ve standart hata (stderr
) akışlarını yakalar ve bunları Azure İzleyici ve Log Analytics'te kullanılabilir hale getirir.
Azure Container Apps'te Loglama Ayarlama
Günlüklerinizin düzgün bir şekilde yakalanmasını ve erişilebilir olmasını sağlamak için Azure Container App'iniz için tanılama ayarlarını yapılandırmanız gerekir. Kurulum iki adımlı bir işlemdir.
Tanılama Ayarlarını Etkinleştir: Azure Container App'iniz için tanılama ayarlarını etkinleştirmek için Azure CLI'yi kullanın.
Bu komutu çalıştırmadan önce,
<>
ile çevrili yer tutucuları kendi değerlerinizle değiştirdiğinizden emin olun.az monitor diagnostic-settings create \ --resource /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/containerApps/<CONTAINER_APP_NAME> \ --name "containerapp-logs" \ --workspace <LOG_ANALYTICS_WORKSPACE_ID> \ --logs '[{"category": "ContainerAppConsoleLogs","enabled": true}]'
Log Analytics çalışma alanınıza giderek ve günlükleri sorgulayarak portaldaki günlüklere erişin.
Loglama Kütüphanelerini Kullanma
console.log
ve console.error
otomatik olarak yakalanırken, Winston gibi bir günlük kitaplığı kullanmak günlük kaydınız üzerinde daha fazla esneklik ve denetim sağlar. Bu esneklik günlükleri biçimlendirmenize, günlük düzeylerini ve çıkış günlüklerini dosyalar veya dış günlük hizmetleri gibi birden çok hedefe ayarlamanıza olanak tanır.
Aşağıdaki örnek, Winston'ın yüksek doğrulukta günlükleri depolamak için nasıl yapılandırılacağını göstermektedir.
// src/logger.ts
import { createLogger, transports, format } from 'winston';
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.json()
),
transports: [
new transports.Console(),
new transports.File({ filename: 'app.log' })
]
});
export default logger;
Günlükçüyü kullanmak için uygulamanızda aşağıdaki söz dizimini kullanın.
import logger from './logger';
logger.info('This is an info message');
logger.error('This is an error message');
Uzaktan hata ayıklama
Uzaktan hata ayıklamayı etkinleştirmek için Node'un yerleşik denetçisini kullanabilirsiniz. Hata ayıklama ayarlarını Dockerfile'ınızın CMD
dosyasına sabit kodlamak yerine, kapsayıcınızın giriş noktası olarak bir kabuk betiği kullanarak uzaktan hata ayıklamayı dinamik olarak etkinleştirebilirsiniz.
Aşağıdaki betik, kapsayıcı başlatıldığında bir ortam değişkenini (örneğin, ENABLE_DEBUG
) denetler. Eğer değişken true
olarak ayarlanırsa, betik Node.js hata ayıklama modunda (--inspect
veya --inspect-brk
kullanarak) başlatılır. Aksi takdirde kapsayıcı uygulamayı normal şekilde başlatır.
Aşağıdaki adımlarla uzaktan hata ayıklama uygulayabilirsiniz:
Projenizin kök dizininde "
entrypoint.sh
" adlı bir dosyada, aşağıdaki içeriğe sahip bir giriş noktası betiği oluşturun.#!/bin/sh # If ENABLE_DEBUG is set to "true", start Node with debugging enabled if [ "$ENABLE_DEBUG" = "true" ]; then echo "Debug mode enabled: starting Node with inspector" exec node --inspect=0.0.0.0:9229 dist/index.js else echo "Starting Node without debug mode" exec node dist/index.js fi
Dockerfile dosyanızı değiştirerek
entrypoint.sh
betiği kapsayıcıya kopyalayın ve giriş noktası olarak ayarlayın. Ayrıca gerekirse hata ayıklama bağlantı noktasını kullanıma sunun:# Copy the entrypoint script to the container COPY entrypoint.sh /usr/src/app/entrypoint.sh # Ensure the script is executable RUN chmod +x /usr/src/app/entrypoint.sh # Expose the debugging port (if using debug mode) EXPOSE 9229 # Set the shell script as the container’s entrypoint ENTRYPOINT ["sh", "/usr/src/app/entrypoint.sh"]
Ortam değişkenini
ENABLE_DEBUG
olarak ayarlayarak hata ayıklama modunu tetikleyintrue
. Örneğin, Azure CLI kullanarak:az containerapp update \ --name <CONTAINER_APP> \ --env-vars ENABLE_DEBUG=true
Bu komutu çalıştırmadan önce, <>
tarafından çevrelenmiş olan yer tutucuları kendi değerlerinizle değiştirdiğinizden emin olun.
Bu yaklaşım, başlangıçta bir ortam değişkenini güncelleştirerek kapsayıcıyı hata ayıklama modunda yeniden başlatmanıza olanak tanıyan esnek bir çözüm sunar. Uygulamanızda her hata ayıklamanız gerektiğinde farklı CMD
ayarlarla yeni bir düzeltme oluşturma gereğini önler.
Bakım ve performansla ilgili dikkat edilmesi gerekenler
Uygulamanızın zaman içindeki performansını korumak ve iyileştirmek için ortam değişkeni değişikliklerini verimli bir şekilde yönettiğinizden, kaynaklarınızı izlediğinizden, bağımlılıklarınızı up-togüncel tuttuğunuzdan, ölçeklendirmeyi doğru yapılandırdığınızdan ve izleme uyarılarını ayarladığınızdan emin olun.
Ortam değişkeni değişiklikleri
Ortam değişkenlerinde yapılan her değişiklik yeni bir dağıtılmış düzeltme gerektirdiğinden, uygulamanın gizli dizilerinde tüm değişiklikleri aynı anda yapın. Değişiklikler tamamlandığında gizli bilgileri revizyonun ortam değişkenlerine bağlayın. Bu yaklaşım, düzeltme sayısını en aza indirir ve temiz bir dağıtım geçmişinin korunmasına yardımcı olur.
Kaynak ayırma
Uygulamanın performans ve kullanım desenlerine göre kapsayıcılarınız için CPU ve bellek ayırmayı izleyin ve ayarlayın. Fazla sağlama gereksiz maliyetlere yol açabilirken, yetersiz sağlama performans sorunlarına neden olabilir.
Bağımlılık güncellemeleri
Performans iyileştirmelerinden ve güvenlik düzeltme eklerinden yararlanmak için bağımlılıklarınızı düzenli olarak güncelleştirin. Bu işlemi otomatikleştirmek için gibi npm-check-updates
araçları kullanın.
npm install -g npm-check-updates
ncu -u
npm install
Ölçeklendirme
Otomatik ölçeklendirmeyi uygulamanın yüküne göre yapılandırın. Azure Container Apps, kapsayıcı örneklerinin sayısını CPU veya bellek kullanımına göre otomatik olarak ayarlayan yatay ölçeklendirmeyi destekler.
Aşağıdaki örnekte CPU tabanlı ölçek kuralının nasıl ayarlanacağı gösterilmektedir. Bu komutu çalıştırmadan önce, etrafı <>
ile çevrili olan yer tutucuları kendi değerlerinizle değiştirdiğinizden emin olun.
az containerapp revision set-scale \
--name <CONTAINER_APP> \
--resource-group <RESOURCE_GROUP> \
--min-replicas 1 \
--max-replicas 10 \
--cpu 80
uyarıları izleme
Uygulamanızın performansını ve durumunu izlemek için izleme ve uyarılar ayarlayın. AZURE İzleyici'yi kullanarak CPU kullanımı, bellek kullanımı ve yanıt süreleri gibi belirli ölçümler için uyarılar oluşturun.
Bu komutu çalıştırmadan önce, yer tutucuların etrafına yerleştirilmiş <>
işaretlerini kendi değerlerinizle değiştirdiğinizden emin olun.
az monitor metrics alert create \
--name "HighCPUUsage" \
--resource-group <RESOURCE_GROUP> \
--scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerInstance/containerGroups/<CONTAINER_GROUP> \
--condition "avg Percentage CPU > 80" \
--description "Alert when CPU usage is above 80%"
Kaynak yönetimi
Kapsayıcılı uygulamaları doğrudan Visual Studio Code'dan hızla oluşturmak, düzenlemek ve dağıtmak için Visual Studio Code için Azure Container Apps uzantısını kullanın.
Sorun giderme
Uygulamanız Azure Container Apps'te çalışma zamanı sorunlarıyla karşılaştığında, sorunu bulmak ve çözmek için günlüğe kaydetme, uzaktan hata ayıklama ve sistem durumu denetimi uyarılarını kullanabilirsiniz.
Ağaç kesimi
Uygulama günlüklerini yakalamak için günlük kaydını etkinleştirin ve yapılandırın. Günlükleri toplamak ve analiz etmek için Azure İzleyici ve Log Analytics'i kullanın. Bu komutları çalıştırmadan önce, <>
ile çevrili yer tutucuları değerlerinizle değiştirdiğinizden emin olun.
Yeni bir çalışma alanı oluşturun.
az monitor log-analytics workspace create \ --resource-group <RESOURCE_GROUP> \ --workspace-name <WORKSPACE_NAME>
Ardından yeni bir çalışma alanı ayarı oluşturun.
az monitor diagnostic-settings create \ --resource <CONTAINER_APP> \ --workspace <WORKSPACE_NAME> \ --logs '[{"category": "ContainerAppConsoleLogs","enabled": true}]'
Hata ayıklama
Çalışan kapsayıcıya bağlanmak için uzaktan hata ayıklama araçlarını kullanırsınız. Dockerfile'ınızın hata ayıklama için gerekli portları açık hale getirdiğinden emin olun.
# Expose the debugging port
EXPOSE 9229
Sağlık kontrolleri
Uygulamanızın durumunu izlemek için sistem durumu denetimlerini yapılandırın. Bu özellik, Azure Container Apps'in yanıt vermemeye başlaması durumunda kapsayıcınızı yeniden başlatmasını sağlar.
# Azure Container Apps YAML configuration
properties:
configuration:
livenessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 30
periodSeconds: 10