All instructions should be saved in a text file, named by default Dockerfile.
Each row in the recipe corresponds to a layer of the final image.
FROM: parent image. Typically, an operating system but you can also use an image of other parties as starting point. This instruction creates the base layer.
RUN: the command to execute inside the image filesystem.
Think about it this way: every RUN line is essentially what you would run to install programs on a freshly installed Ubuntu OS. This command will be executed as root in the container.
RUN apt install wget
A basic recipe:
FROM ubuntu:18.04 RUN apt update && apt -y upgrade RUN apt install -y wget