| As others have stated you could run your own registry or use an alternative service for private repositories, to minimise or eliminate the attack vector. By replicating the images (or packages) that you need into your own account, you can minimise the possibility of a bad actor replacing a well-known image with something untrusted. An alternative is to side-cart a service like Notary (https://docs.docker.com/notary/getting_started/) in order to establish a chain of trust for images. If an image gets changed, Docker will refuse to use it and you will be warned that it is untrusted. Biased opinion on an alternative registry: - Cloudsmith: https://cloudsmith.io/l/docker-registry/ But you've got other options, such as: - Self-hosted: https://github.com/docker/distribution) - Cloud-specific (e.g. ECR, GCR, ACR, etc.) - Sonatype Nexus: https://www.sonatype.com - ProGet: https://inedo.com/proget - Gitlab: https://gitlab.com - Artifactory: https://jfrog.com/artifactory/ If you're missing the auto-build functionality, this can be achieved reasonably easily with any of the mainstream and awesome CI/CD services out there, such as: - SemaphoreCI: https://semaphoreci.com/ - CircleCI: https://circleci.com/ - DroneCI: https://drone.io/ Disclaimer: I work for Cloudsmith, and still think Docker Hub is great. :-) |