What does run apk add do?

I am following this tutorial.

The dockerfile content is

# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
EXPOSE 3000

I am not understanding what this line is doing

RUN apk add --no-cache python2 g++ make

could you please guide? Thanks!

apk is Alpine Linux package system, so what it does is that it installs python, g++ and make

thank you very much.