Should Docker be pulling at every pipeline?

IMO Docker images should be cached. I thought of a few possibilities of how to do that. I'm quite a noob on gitlab, so I don't know if it's just the way it is...

  1. Extending image definition using gitlab-ci's parameters (didn't find anything relevant...)
  2. Configure GitLab Runner pull_policy https://gitlab.com/gitlab-org/gitlab-runner/blob/master/docs/configuration/advanced-configuration.md
  3. Using docker --cache-from
  4. Using GitLab's ci cache https://docs.gitlab.com/ee/ci/yaml/#cache
Edited by Gabriel Le Breton