azk uses preconfigured images with different languages and databases to automate the setup of the development environment. These images follow the pattern from Docker and can be found in

What are these images?

The images are the basis of the systems described in the Azkfile.js. The image property is the starting point for the systems installation. Images can be of type docker or dockerfile. When the system image is set to docker it is downloaded directly from the Docker Registry. When set to dockerfile, a local file will be fetched.

Docker Registry

Docker Registry is a public repository of images to use with Docker. Take for example the node.js image suggested by azk: azukiapp/node. It points to Azuki's repository in the Docker Registry.

Checking the FROM parameter inside the Dockerfile of azukiapp/node, we can see that the image is based off of the image azukiapp/web-based which, in turn, is based off of another image, azukiapp/ubuntu.

FROM azukiapp/web-based

Inheritance chain of azukiapp/node:

That way we can take advantage of the configuration of the base image (shown in the FROM parameter) to create standardized and useful images for azk needs.

Local Dockerfile

Besides pointing to images from the Docker registry, we can still customize our own images using a local dockerfile. That way we can create completely custom images and test them locally.

We recommend that after the appropriate configuration, to facilitate teamwork, the image is sent to the Docker Registry. That way other developers of your project will have easy access to the same environment as you.

Always use a Dockerfile to create images. This allows other people interested in using your image to see how it was built.

Warning: never upload sensitive data on your images to a public Docker Registry;