Skip to content

Commit e43cbce

Browse files
SamyOubouazizthomas-tacquet
authored andcommitted
docs(SRV): add note on external container registries MTA-5165 (#3866)
* docs(SRV): add note on external container registries MTA-5165 * docs(SRV): update * chore(GEN): update * Update faq/containerregistry.mdx * Update faq/containerregistry.mdx * Update faq/containerregistry.mdx * Update serverless/containers/troubleshooting/common-errors.mdx Co-authored-by: Thomas TACQUET <[email protected]> * Update serverless/jobs/how-to/create-job-from-external-registry.mdx Co-authored-by: Thomas TACQUET <[email protected]> * Update serverless/jobs/troubleshooting/common-errors.mdx Co-authored-by: Thomas TACQUET <[email protected]> --------- Co-authored-by: Thomas TACQUET <[email protected]>
1 parent 00d36e7 commit e43cbce

File tree

10 files changed

+104
-9
lines changed

10 files changed

+104
-9
lines changed

faq/containerregistry.mdx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,20 @@ Scaleway Container Registry is a fully managed mutualized Container Registry, de
1616
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.
1717
The Service is currently available in our `nl-ams` (Amsterdam, The Netherlands), `fr-par` (Paris, France), and `pl-waw` (Poland, Warsaw) Availability Zones.
1818

19+
## How am I billed for Scaleway Container Registry?
20+
21+
Scaleway Container Registry is billed based on stored images size, and outgoing data transfer.
22+
23+
| | Stored Images | Outgoing data transfer | Incoming data transfert |
24+
|----------------|-----------------|--------------------------------------------------|-------------------------|
25+
| Private images | €0.027/GB/month | Inter-regional: €0.033/GB - Intra-regional: free | Free |
26+
| Public images | Free up to 75GB | Inter-regional: free - Intra-regional: free | Free |
27+
28+
<Message type="note">
29+
- Inter-regional traffic: AMS ↔ PAR, WAW ↔ PAR, or AMS ↔ WAW
30+
- Intra-regional traffic: PAR ↔ PAR, WAW ↔ WAW, or AMS ↔ AMS
31+
</Message>
32+
1933
## Why do I get a message that the namespace is not available?
2034

2135
Each namespace has a unique name in each Availability Zone. If the namespace's name is already taken, it will no longer be available.

faq/serverless-containers.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,27 @@ Ensure that your code avoids heavy computations or long-running initialization a
9797

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

100+
# Where should I host my container images for deployment ?
101+
102+
<Macro id="container-registry-note" />
103+
104+
# How can I copy an image from an external registry to Scaleway Container Registry?
105+
106+
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:
107+
108+
```sh
109+
docker pull alpine:latest
110+
docker tag alpine:latest rg.fr-par.scw.cloud/example/alpine:latest
111+
docker push rg.fr-par.scw.cloud/example/alpine:latest
112+
```
113+
114+
Alternatively, you can use tools such as [Skopeo](https://github.com/containers/skopeo) to copy the image:
115+
116+
```sh
117+
skopeo login rg.fr-par.scw.cloud -u nologin -p $SCW_SECRET_KEY
118+
skopeo copy --override-os linux docker://docker.io/alpine:latest docker://rg.fr-par.scw.cloud/example/alpine:latest
119+
```
120+
100121
## Can I whitelist the IPs of my containers?
101122

102123
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.

faq/serverless-jobs.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,27 @@ Scaleway Serverless Jobs is part of the Scaleway ecosystem, it can therefore be
9494

9595
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.
9696

97+
# Where should I host my jobs images for deployment ?
98+
99+
<Macro id="container-registry-note" />
100+
101+
# How can I copy an image from an external registry to Scaleway Container Registry?
102+
103+
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:
104+
105+
```sh
106+
docker pull alpine:latest
107+
docker tag alpine:latest rg.fr-par.scw.cloud/example/alpine:latest
108+
docker push rg.fr-par.scw.cloud/example/alpine:latest
109+
```
110+
111+
Alternatively, you can use tools such as [Skopeo](https://github.com/containers/skopeo) to copy the image:
112+
113+
```sh
114+
skopeo login rg.fr-par.scw.cloud -u nologin -p $SCW_SECRET_KEY
115+
skopeo copy --override-os linux docker://docker.io/alpine:latest docker://rg.fr-par.scw.cloud/example/alpine:latest
116+
```
117+
97118
## How can I configure access to a Private Network?
98119

99120
Scaleway Serverless Jobs does not currently support Scaleway VPC or Private Networks, though this feature is under development.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
macro: container-registry-note
3+
---
4+
5+
[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).
6+
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.

serverless/containers/how-to/deploy-a-container-from-external-container-registry.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ A container is a package of software that includes all dependencies: code, runti
2020

2121
For now, Serverless Containers only supports public images.
2222

23+
<Message type="important">
24+
<Macro id="container-registry-note" />
25+
</Message>
26+
2327
<Macro id="requirements" />
2428

2529
- A Scaleway account logged into the [console](https://console.scaleway.com)
@@ -33,7 +37,7 @@ For now, Serverless Containers only supports public images.
3337
4. Complete the following steps in the wizard:
3438
- Select the **External** container registry.
3539
- Enter the public container **image URL** provided by the external registry. For example:
36-
- `nginx:latest` to deploy the latest nginx image from [Docker Hub](https://hub.docker.com/search?q=)
40+
- `nginx:latest` to deploy the latest nginx image from [Docker Hub](https://hub.docker.com/)
3741
- `ghcr.io/namespace/image` to deploy an image from [GitHub Container Registry](https://github.com/features/packages)
3842
- Choose the [port](/serverless/containers/concepts/#port) your container is listening on. We recommend configuring your container to listen on the `$PORT` environment variable.
3943
- Choose a **name** for your container and, optionally, a **description**. The name must only contain alphanumeric characters and dashes.

serverless/containers/quickstart.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ You can deploy a container from the Scaleway Container Registry or any other pub
3434
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.
3535

3636
<Message type="note">
37-
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.
37+
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.
3838
</Message>
3939

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

7171
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.
7272

73+
<Message type="important">
74+
<Macro id="container-registry-note" />
75+
</Message>
76+
7377
1. Click **Containers** in the **Serverless** section of the side menu. The containers page displays.
7478
2. Click **Deploy container**. The containers namespace creation wizard displays.
7579
3. Complete the following steps in the wizard:

serverless/containers/troubleshooting/common-errors.mdx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,13 @@ The new deploy failed, and the [fallback mechanism has been triggered](/serverle
5656
### Possible solution
5757

5858
Identify the element that caused the deployment to fail, fix the error, and deploy the container again.
59+
60+
## Issues when retrieving an external image
61+
62+
### Cause
63+
64+
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.
65+
66+
### Solution
67+
68+
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).

serverless/jobs/how-to/create-job-from-external-registry.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ categories:
1414
- jobs
1515
---
1616

17-
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.
17+
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.
1818

19-
<Message type="note">
20-
Private container registries are currently not supported.
19+
Private external container registries are currently not supported.
20+
21+
<Message type="important">
22+
<Macro id="container-registry-note" />
2123
</Message>
2224

2325
<Macro id="requirements" />

serverless/jobs/quickstart.mdx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,17 @@ This page explains how to create a job definition with the latest Alpine Linux i
2626

2727
- A Scaleway account logged into the [console](https://console.scaleway.com)
2828
- [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
29+
- [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
2930

3031
## How to create a job definition
3132

32-
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/).
33-
3433
1. Click **Jobs** in the **Serverless** section of the side menu. The Jobs page displays.
3534

3635
2. Click **+ Create job**.
3736

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

53+
<Message type="important">
54+
<Macro id="container-registry-note" />
55+
</Message>
56+
5457
## How to run a job
5558

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

serverless/jobs/troubleshooting/common-errors.mdx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,13 @@ categories:
2020
- 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.
2121

2222
- Make sure your deployment does not exceed the limitations of [Serverless Jobs](/serverless/jobs/reference-content/jobs-limitations/).
23+
24+
## Issues when retrieving an external image
25+
26+
### Cause
27+
28+
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.
29+
30+
### Solution
31+
32+
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).

0 commit comments

Comments
 (0)