FROM node:22-slim WORKDIR /app COPY package*.json ./
RUN npm ci COPY . .
RUN npm run build CMD ["node", "dist/index.js"]
FROM node:22-slim WORKDIR /app COPY package*.json ./
RUN npm ci COPY . .
RUN npm run build CMD ["node", "dist/index.js"]
FROM node:22-slim WORKDIR /app COPY package*.json ./
RUN npm ci COPY . .
RUN npm run build CMD ["node", "dist/index.js"]
docker buildx version
docker buildx version
docker buildx version
docker buildx create --name multiarch-builder --driver docker-container --bootstrap
docker buildx use multiarch-builder
docker buildx create --name multiarch-builder --driver docker-container --bootstrap
docker buildx use multiarch-builder
docker buildx create --name multiarch-builder --driver docker-container --bootstrap
docker buildx use multiarch-builder
docker buildx inspect --bootstrap
docker buildx inspect --bootstrap
docker buildx inspect --bootstrap
FROM node:22-slim AS build WORKDIR /app COPY package*.json ./
RUN npm ci COPY tsconfig.json ./
COPY src ./src RUN npm run build FROM node:22-slim AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/dist ./dist USER node EXPOSE 3000 CMD ["node", "dist/index.js"]
FROM node:22-slim AS build WORKDIR /app COPY package*.json ./
RUN npm ci COPY tsconfig.json ./
COPY src ./src RUN npm run build FROM node:22-slim AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/dist ./dist USER node EXPOSE 3000 CMD ["node", "dist/index.js"]
FROM node:22-slim AS build WORKDIR /app COPY package*.json ./
RUN npm ci COPY tsconfig.json ./
COPY src ./src RUN npm run build FROM node:22-slim AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/dist ./dist USER node EXPOSE 3000 CMD ["node", "dist/index.js"]
docker buildx build \ --platform linux/amd64,linux/arm64 \ -t yourname/node-agent:latest \ --push \ .
docker buildx build \ --platform linux/amd64,linux/arm64 \ -t yourname/node-agent:latest \ --push \ .
docker buildx build \ --platform linux/amd64,linux/arm64 \ -t yourname/node-agent:latest \ --push \ .
FROM node:22-slim AS build WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* COPY package*.json ./
RUN npm ci COPY tsconfig.json ./
COPY src ./src RUN npm run build FROM node:22-slim AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/dist ./dist USER node CMD ["node", "dist/index.js"]
FROM node:22-slim AS build WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* COPY package*.json ./
RUN npm ci COPY tsconfig.json ./
COPY src ./src RUN npm run build FROM node:22-slim AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/dist ./dist USER node CMD ["node", "dist/index.js"]
FROM node:22-slim AS build WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* COPY package*.json ./
RUN npm ci COPY tsconfig.json ./
COPY src ./src RUN npm run build FROM node:22-slim AS runtime WORKDIR /app ENV NODE_ENV=production COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force COPY --from=build /app/dist ./dist USER node CMD ["node", "dist/index.js"]
services: app: image: yourname/node-agent:latest ports: - "3000:3000" tests: image: mcr.microsoft.com/playwright:v1.56.1-noble working_dir: /app volumes: - ./:/app command: sh -c "npm ci && npx playwright test"
services: app: image: yourname/node-agent:latest ports: - "3000:3000" tests: image: mcr.microsoft.com/playwright:v1.56.1-noble working_dir: /app volumes: - ./:/app command: sh -c "npm ci && npx playwright test"
services: app: image: yourname/node-agent:latest ports: - "3000:3000" tests: image: mcr.microsoft.com/playwright:v1.56.1-noble working_dir: /app volumes: - ./:/app command: sh -c "npm ci && npx playwright test"
name: Build Multi-Arch Image on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: docker/setup-qemu-action@v3 - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64,linux/arm64 push: true tags: yourname/node-agent:latest cache-from: type=gha cache-to: type=gha,mode=max
name: Build Multi-Arch Image on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: docker/setup-qemu-action@v3 - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64,linux/arm64 push: true tags: yourname/node-agent:latest cache-from: type=gha cache-to: type=gha,mode=max
name: Build Multi-Arch Image on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: docker/setup-qemu-action@v3 - uses: docker/setup-buildx-action@v3 - uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - uses: docker/build-push-action@v6 with: context: . platforms: linux/amd64,linux/arm64 push: true tags: yourname/node-agent:latest cache-from: type=gha cache-to: type=gha,mode=max
docker run --rm --platform linux/amd64 yourname/node-agent:latest
docker run --rm --platform linux/arm64 yourname/node-agent:latest
docker run --rm --platform linux/amd64 yourname/node-agent:latest
docker run --rm --platform linux/arm64 yourname/node-agent:latest
docker run --rm --platform linux/amd64 yourname/node-agent:latest
docker run --rm --platform linux/arm64 yourname/node-agent:latest