Images are declared with image directive: image: <image name>. The image directive starts a description for building an application image. The image name is a string, similar to the image name in Docker:

image: frontend

If image only one in the config, it can be nameless:

image: ~

In the config with multiple, all images must have names:

image: frontend
...
---
image: backend
...

An image can have several names, set as a list in YAML syntax (this usage is equal to describing similar images with different names):

image: [main-front,main-back]

You can use image name for most commands to execute ones for specific image(s):

Also, image name is used for naming when publishing built image into registry (read about it in separate article).