This page shows how to create a new image with Docker. This process consists in building a root filesystem in an extra volume of one of your servers.
- You have an account and are logged into cloud.scaleway.com
- You have configured your SSH Key
- You have an additional volume attached to your server
- Your server is running the Docker image from the InstantApps
When you create a server you have to select a base image. If you create your own base image, you can customize more deeply.
There are four steps to create a new image from scratch:
- Create the root filesystem
- Create a snapshot
- Create an image from a snapshot
- Create a new server with your image
Connect to your server and clone the hello-world repository:
git clone https://github.com/online-labs/image-helloworld.git cd image-helloworld
It is composed of two files:
Makefile, which contains variables describing your image (version, name, title, description, URL)
Dockerfile, which tells how your image is built (see the Dockerfile Reference)
The image can then be built on
Refer to the Image Tools Commands documentation for the possible usages of this Makefile.
At this point the extra volume contains a valid Ubuntu root filesystem. We must now transform this volume into a snapshot.
Once you server is powered off, from the servers page, select the server you created the image with. Click the “Snapshot” button on the extra volume (in our example “volume_to_backup” - /dev/nbd1).
In the Control Panel, click “Volumes” in the compute section. On this page, select the snapshot containing your rootfs and click “Create an image from snapshot”.
Create a new server and choose your image in “My images” section.
Your server will start on your own “from scratch” image.
This is a companion discussion topic for the original entry at https://www.scaleway.com/docs/create-an-image-with-docker/?embed_url=https://www.scaleway.com/docs/create-an-image-with-docker/