When comparing Portage vs Docker, the Slant community recommends Portage for most people. In the question“What are the best Linux package managers?” Portage is ranked 2nd while Docker is ranked 11th. The most important reason people chose Portage is:
WIth portage you can decide and customize which dependencies to install through some thing called USE flags. These are keywords that when defined, will tell Portage that you want support for the chosen keyword.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Decide which dependencies to install
WIth portage you can decide and customize which dependencies to install through some thing called USE flags. These are keywords that when defined, will tell Portage that you want support for the chosen keyword.
Pro Sandboxes build process
Portage uses a sandbox as a safety measure during build processes. This is done to ensure that no packages accidentally write outside a 'safe' location.
Pro Can install multiple versions of the same package simultaneously
Slotting is a feature which allows users to install multiple versions of a software simultaneously. This is especially useful for libraries which have changed interfaces between versions.
Pro Allows both binary and source installation
With portage you can either compile packages from source or you can download and install their binary versions.

Pro Simple overlay management
Adding supplemental repositories, aka overlays, is easy with eselect-repository or layman.
Pro Implements a standard with alternate implementations
If you need faster resolution, you can run pkgcore for search and portage for installing, and they work well together.
Pro Respects customized config files
By default, portage doesn't delete or move any customized config files, thus enabling competent users to modify any config file however they want.
Pro You can view a list of programs that can be installed
With portage you can view a list of all the programs that you can install by going to /usr/portage
and running ls
.
Pro Full control over installed packages
You can fully control all packages if you use it properly.
Pro Allows for portable application deployment
Docker creates a single object, containing an application with its dependencies, that can be moved between any docker-enabled machines, guaranteeing the same environment for application execution.
Pro Git-like capabilities
Docker tracks changes in systems. It allows for commits and rollbacks and for quick deployment due to having to deploy only the updated code.
Pro Allows re-using components
Docker essentially allows creating boilerplate systems (a LAMP stack, for example) that can be used as a starting point on multiple projects. And you can find multiple such containers already created by people in their public registry.
Pro Automatic build
Allows automatically assembling a container from its source code.
Pro Provides easy sharing and installation of containers through a public registry
Docker allows easily pushing and pulling containers to and from their public index.docker.io registry. Additionally, dotCloud maintains a list of official repositories of the more popular containers.
Pro Application-centric
Pro Works in virtualized environments
You can set up Docker within an already virtualized environment such as a virtual machine. This allows you to run Docker on Mac and Windows, among other use-cases.
Pro Low overhead
Pro Supports a wide range of isolation tools
Docker can be used with OpenVZ, systemd-nspawn, libvirt-lxc, libvirt-sandbox, qemu/kvm, BSD Jails, Solaris Zones, and chroot.
Pro Tool ecosystem
Cons
Con High memory usage
Usually takes between 400-800MB of RSS (no problem to get over 1GB), so it's nothing for an old hardware.
Con Building from source take a lot of processing time
Most of Portage's pros are related to its "porting" process, building packages from source. This is very resource-intensive, with the few biggest packages sometimes taking even multiple hours to update or install.
Con Very slow
Dependency resolution is very slow and single-threaded, so usually you will see one of your cores running like crazy for over a minute.
Con Feature creep
It is very complicated and offers plenty of options.
Con You can not create packages under a non-portage distribution
Makes maintaining software for gentoo based systems a burden.
Con Large image size
Con Security concerns
Con Kernel OS fragmentation
