Örnek Dockerfile:
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
FROM: Baz imaj.WORKDIR: Çalışma dizini.COPY: Dosya kopyalama.RUN: Komut çalıştırma (örn. npm install).CMD: Konteyner başladığında çalışacak komut.docker-compose.yml örneği:
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
depends_on:
- db
db:
image: postgres:14
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: appdb
volumes:
- dbdata:/var/lib/postgresql/data
volumes:
dbdata:
services: Uygulama ve veritabanı servisleri tanımlanır.volumes: Kalıcı veri saklamak için kullanılır.depends_on: Servis sıralaması sağlar..env dosyası:
DB_USER=admin
DB_PASS=secret
docker-compose.yml ile kullanımı:
environment:
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASS}
docker stats
docker system df
docker events
stats: Konteyner CPU/RAM kullanımı.system df: Disk kullanımı özeti.events: Docker olaylarını canlı takip eder.USER nodeEXPOSE 80.dockerignore dosyası ile gereksiz dosyaları hariç tutun:node_modules
.git
Dockerfile
alpine sürümlerini kullanın)FROM node:18 AS builder
WORKDIR /app
COPY . .
RUN npm install && npm run build
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html