Skip to content
14 changes: 14 additions & 0 deletions faq/containerregistry.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,20 @@ Scaleway Container Registry is a fully managed mutualized Container Registry, de
You can store any docker container image on the Namespace and it is possible to set the visibility of each image towards your needs. It can either be private or public.
The Service is currently available in our `nl-ams` (Amsterdam, The Netherlands), `fr-par` (Paris, France), and `pl-waw` (Poland, Warsaw) Availability Zones.

## How am I billed for Scaleway Container Registry?

Scaleway Container Registry is billed based on stored images size, and outgoing data transfer.

| | Stored Images | Outgoing data transfer | Incoming data transfert |
|----------------|-----------------|--------------------------------------------------|-------------------------|
| Private images | €0.027/GB/month | Inter-regional: €0.033/GB - Intra-regional: free | Free |
| Public images | Free up to 75GB | Inter-regional: free - Intra-regional: free | Free |

<Message type="note">
- Inter-regional traffic: AMS ↔ PAR, WAW ↔ PAR, or AMS ↔ WAW
- Intra-regional traffic: PAR ↔ PAR, WAW ↔ WAW, or AMS ↔ AMS
</Message>

## Why do I get a message that the namespace is not available?

Each namespace has a unique name in each Availability Zone. If the namespace's name is already taken, it will no longer be available.
Expand Down
21 changes: 21 additions & 0 deletions faq/serverless-containers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,27 @@ Ensure that your code avoids heavy computations or long-running initialization a

Refer to our dedicated page about [Serverless Containers limitations and configuration restrictions](/serverless/containers/reference-content/containers-limitations/) for more information.

# Where should I host my container images for deployment ?

<Macro id="container-registry-note" />

# How can I copy an image from an external registry to Scaleway Container Registry?

You can copy an image from an external registry by [logging in to the Scaleway Container Registry](/containers/container-registry/how-to/connect-docker-cli/) using the Docker CLI, and by copying the image as shown below:

```sh
docker pull alpine:latest
docker tag alpine:latest rg.fr-par.scw.cloud/example/alpine:latest
docker push rg.fr-par.scw.cloud/example/alpine:latest
```

Alternatively, you can use tools such as [Skopeo](https://github.com/containers/skopeo) to copy the image:

```sh
skopeo login rg.fr-par.scw.cloud -u nologin -p $SCW_SECRET_KEY
skopeo copy --override-os linux docker://docker.io/alpine:latest docker://rg.fr-par.scw.cloud/example/alpine:latest
```

## Can I whitelist the IPs of my containers?

Serverless Containers does not yet support Private Networks. However, you can use the Scaleway IP ranges defined at [https://www.scaleway.com/en/peering/](https://www.scaleway.com/en/peering/) on Managed Databases and other products that allow IP filtering.
Expand Down
21 changes: 21 additions & 0 deletions faq/serverless-jobs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,27 @@ Scaleway Serverless Jobs is part of the Scaleway ecosystem, it can therefore be

When starting a job, you can use contextual options to define the number of jobs to execute at the same time. Refer to the [dedicated documentation](/serverless/jobs/how-to/run-job/#how-to-run-a-job-with-contextual-options) for more information.

# Where should I host my jobs images for deployment ?

<Macro id="container-registry-note" />

# How can I copy an image from an external registry to Scaleway Container Registry?

You can copy an image from an external registry by [logging in to the Scaleway Container Registry](/containers/container-registry/how-to/connect-docker-cli/) using the Docker CLI, and by copying the image as shown below:

```sh
docker pull alpine:latest
docker tag alpine:latest rg.fr-par.scw.cloud/example/alpine:latest
docker push rg.fr-par.scw.cloud/example/alpine:latest
```

Alternatively, you can use tools such as [Skopeo](https://github.com/containers/skopeo) to copy the image:

```sh
skopeo login rg.fr-par.scw.cloud -u nologin -p $SCW_SECRET_KEY
skopeo copy --override-os linux docker://docker.io/alpine:latest docker://rg.fr-par.scw.cloud/example/alpine:latest
```

## How can I configure access to a Private Network?

Scaleway Serverless Jobs does not currently support Scaleway VPC or Private Networks, though this feature is under development.
Expand Down
6 changes: 6 additions & 0 deletions macros/serverless/container-registry-note.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
macro: container-registry-note
---

[Scaleway's Container Registry](/containers/container-registry/) allows for a seamless integration with Serverless Containers and Jobs at a [competitive price](/faq/containerregistry/#how-am-i-billed-for-scaleway-container-registry).
Serverless products support external public registries (such as [Docker Hub](https://hub.docker.com/search?q=)), but we do not recommend using them due to uncontrolled rate limiting, which can lead to failures when starting resources, unexpected usage conditions, and pricing changes.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ A container is a package of software that includes all dependencies: code, runti

For now, Serverless Containers only supports public images.

<Message type="important">
<Macro id="container-registry-note" />
</Message>

<Macro id="requirements" />

- A Scaleway account logged into the [console](https://console.scaleway.com)
Expand All @@ -33,7 +37,7 @@ For now, Serverless Containers only supports public images.
4. Complete the following steps in the wizard:
- Select the **External** container registry.
- Enter the public container **image URL** provided by the external registry. For example:
- `nginx:latest` to deploy the latest nginx image from [Docker Hub](https://hub.docker.com/search?q=)
- `nginx:latest` to deploy the latest nginx image from [Docker Hub](https://hub.docker.com/)
- `ghcr.io/namespace/image` to deploy an image from [GitHub Container Registry](https://github.com/features/packages)
- Choose the [port](/serverless/containers/concepts/#port) your container is listening on. We recommend configuring your container to listen on the `$PORT` environment variable.
- Choose a **name** for your container and, optionally, a **description**. The name must only contain alphanumeric characters and dashes.
Expand Down
6 changes: 5 additions & 1 deletion serverless/containers/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ You can deploy a container from the Scaleway Container Registry or any other pub
If you have no existing Serverless Containers resources in your current Project, the creation process will guide you through the creation of a namespace, and then a container.

<Message type="note">
Make sure that you have [created a Container Registry namespace](/containers/container-registry/how-to/create-namespace/) and [pushed the latest NGINX Docker image](/containers/container-registry/how-to/push-images/) to it.
Make sure that you have [created a Container Registry namespace](/containers/container-registry/how-to/create-namespace/) and [pushed the latest NGINX Docker image](/containers/container-registry/how-to/push-images/) (or any other image with a web server) to it.
</Message>

1. Click **Containers** in the **Serverless** section of the side menu. The containers page displays.
Expand Down Expand Up @@ -70,6 +70,10 @@ If you have no existing Serverless Containers resources in your current Project,

If you have no existing Serverless Containers resources in your current Project, the creation process will guide you through the creation of a namespace, and then a container.

<Message type="important">
<Macro id="container-registry-note" />
</Message>

1. Click **Containers** in the **Serverless** section of the side menu. The containers page displays.
2. Click **Deploy container**. The containers namespace creation wizard displays.
3. Complete the following steps in the wizard:
Expand Down
10 changes: 10 additions & 0 deletions serverless/containers/troubleshooting/common-errors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,13 @@ The new deploy failed, and the [fallback mechanism has been triggered](/serverle
### Possible solution

Identify the element that caused the deployment to fail, fix the error, and deploy the container again.

## Issues when retrieving an external image

### Cause

Serverless products support external public registries (such as [Docker Hub](https://hub.docker.com/)), but we do not recommend using them due to uncontrolled rate limiting, which can lead to failures when starting resources, unexpected usage conditions, and pricing changes.

### Solution

We recommend using [Scaleway's Container Registry](/containers/container-registry/) instead, as it allows for a seamless integration with Serverless Containers and Jobs at a [competitive price](/faq/containerregistry/#how-am-i-billed-for-scaleway-container-registry).
8 changes: 5 additions & 3 deletions serverless/jobs/how-to/create-job-from-external-registry.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@ categories:
- jobs
---

Scaleway allows you to create jobs from external public [container registries](/containers/container-registry/concepts/#registry), such as Docker Hub, AWS container registries, GitLab container registry, etc.
Scaleway Serverless Jobs allows you to create jobs from external public [container registries](/containers/container-registry/concepts/#registry), such as Docker Hub, AWS container registries, GitLab container registry, etc.

<Message type="note">
Private container registries are currently not supported.
Private external container registries are currently not supported.

<Message type="important">
<Macro id="container-registry-note" />
</Message>

<Macro id="requirements" />
Expand Down
11 changes: 7 additions & 4 deletions serverless/jobs/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,17 @@ This page explains how to create a job definition with the latest Alpine Linux i

- A Scaleway account logged into the [console](https://console.scaleway.com)
- [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization
- [Created a Container Registry namespace](/containers/container-registry/how-to/create-namespace/) and [pushed a container image](/containers/container-registry/how-to/push-images/) to it

## How to create a job definition

To keep this quickstart simple, we will create a job from a public external registry. To create a job from the Scaleway Container Registry, refer to [this documentation](/serverless/jobs/how-to/create-job-from-scaleway-registry/).

1. Click **Jobs** in the **Serverless** section of the side menu. The Jobs page displays.

2. Click **+ Create job**.

3. Complete the following steps in the wizard:
- Select the **External** container registry.
- Enter `docker.io/library/alpine:latest` in the image URL field.
- Select the **Scaleway** Container Registry.
- Select the appropriate **Registry namespace** from the drop-down list, then select the desired **container** and **tag**.
- Enter a **name** or use the automatically generated one. The name can only contain lowercase alphanumeric characters and dashes.
- Enter a **description** (optional).
- Select the region in which your job will be created.
Expand All @@ -51,6 +50,10 @@ To keep this quickstart simple, we will create a job from a public external regi
</Message>
6. Click **Create a job definition** to finish.

<Message type="important">
<Macro id="container-registry-note" />
</Message>

## How to run a job

1. Click **Jobs** in the **Serverless** section of the side menu. The jobs page displays.
Expand Down
10 changes: 10 additions & 0 deletions serverless/jobs/troubleshooting/common-errors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,13 @@ categories:
- Make sure you built your image for an `amd64` architecture, as `arm64` is not supported. See [Architecture](/serverless/jobs/reference-content/jobs-limitations/#Architecture) documentation.

- Make sure your deployment does not exceed the limitations of [Serverless Jobs](/serverless/jobs/reference-content/jobs-limitations/).

## Issues when retrieving an external image

### Cause

Serverless products support external public registries (such as [Docker Hub](https://hub.docker.com/)), but we do not recommend using them due to uncontrolled rate limiting, which can lead to failures when starting resources, unexpected usage conditions, and pricing changes.

### Solution

We recommend using [Scaleway's Container Registry](/containers/container-registry/) instead, as it allows for a seamless integration with Serverless Containers and Jobs at a [competitive price](/faq/containerregistry/#how-am-i-billed-for-scaleway-container-registry).