As far as I can see there are three ways to make Terraform use prepopulated plugins (to prevent downloads from web on `init` command).

1. [`terraform provider mirror`](https://www.terraform.io/cli/commands/providers/mirror) command + [`provider_installation`](https://www.terraform.io/cli/config/config-file#provider-installation) in .terraformrc (or terraform.rc)
2. [`terraform init -plugin-dir`](https://learn.hashicorp.com/tutorials/terraform/automate-terraform#pre-installed-plugins) command
3. warming up [provider-plugin-cache](https://www.terraform.io/cli/config/config-file#provider-plugin-cache)

Are they all equivalent? Which one is recommended? My use case is building "deployer" docker image for CI/CD pipeline and also I am considering the possibility to use Terraform under [Terraspace](https://terraspace.cloud/).