For mirroring, you can follow this documentation: Synchronize a Repository — Pulp Container Support 2.15.2 documentation. First, you begin with creating a repository (a local Pulp repository used for administration) and remote (a reference to a remote Docker Hub registry). Then, you sync the content from the remote to the repository.
Afterwards, you need to create a distribution and distribute the synced repository: Host and Consume a Repository — Pulp Container Support 2.15.2 documentation. The distribution is an entity that tells Pulp where to serve content from.
You can use the CLI when working with Pulp: Pulp CLI.
pulp container repository create --name library/busybox
pulp container remote create --name library/busybox --url https://registry-1.docker.io --upstream-name library/busybox
pulp container repository sync --name library/busybox --remote library/busybox
pulp container distribution create --name library/busybox --repository library/busybox