Skip to navigationSkip to main contentSkip to footerScaleway Docs

How to build and push a container image

This page explains how to create a simple Dockerfile to containerize your applications for deployment using Scaleway Serverless Jobs.

How to Write a Dockerfile

  1. Create a file named Dockerfile in your project directory.

  2. Add the following content to your Dockerfile, adjusting the base image and commands according to your application:

# Use the official Golang image to create a build artifact.
FROM golang:1.24-alpine AS builder

# Create the main.go file with the Go source code
RUN echo 'package main

import "fmt"

func main() {
    fmt.Println("Hello from Scaleway Serverless Jobs!")
}' > main.go

# Build the Go app
RUN go build -o main .

# Start a new stage from scratch
FROM alpine:latest

# Copy the Pre-built binary file from the previous stage
COPY --from=builder /app/main .

# Command to run the executable
CMD ["./main"]

How to build and push your image from your Dockerfile

  1. Open a terminal and navigate to the directory containing your Dockerfile.

  2. Run the following command to build your Docker image:

    docker build -t my-application .
  3. Run the command below to log in to your Scaleway account in the terminal. Make sure that you replace the placeholder values with your own.

    docker login rg.fr-par.scw.cloud/your-container-registry-namespace -u nologin --password-stdin <<< "$SCW_SECRET_KEY"
  4. Tag your Docker image so it matches your Scaleway registry's format:

    docker tag my-application:latest rg.fr-par.scw.cloud/your-container-registry-namespace/my-application:latest
  5. Push the Docker image to the Scaleway Container Registry:

    docker push rg.fr-par.scw.cloud/your-container-registry-namespace/my-application:latest

You can now access your container image from the Scaleway Container Registry, and deploy a Serverless Job from this image.

Still need help?

Create a support ticket
No Results