Kontejner
Spremnik je softver paket koji sadrži sve što softver treba za pokretanje. To uključuje izvršnu datoteku program kao i sistemski alati, knjižnice i postavke. Kontejneri nisu instaliran poput tradicionalnih softverskih programa, što im omogućuje da budu izolirani od drugog softvera i operativni sustav sebe.
Izolirana priroda spremnika pruža nekoliko prednosti. Prvo, softver u spremniku pokrenut će se isto u različitim okruženjima. Na primjer, spremnik koji uključuje PHP i MySQL može raditi identično na obje a Linux računalo i a Windows mašina. Drugo, spremnici pružaju dodatnu sigurnost jer softver neće utjecati na operativni sustav domaćina. Dok je instaliran primjena može mijenjati postavke sustava i modificirati resurse, poput Windows-a registra, spremnik može mijenjati samo postavke unutar spremnika. To čini spremnike idealnim za testiranje i razvoj softvera.
Spremnici također uklanjaju probleme s instalacijom, uključujući sukobe sustava, nekompatibilnosti verzija i nedostajuće ovisnosti. Rezultat je rješenje "radi na svim strojevima", koje je idealno za programere i krajnjim korisnicima. To također olakšava poslove mrežnim administratorima, jer mogu isporučivati spremnike višestrukim korisnicima, bez brige o problemima kompatibilnosti.
Kontejneri vs virtualni strojevi
Spremnici su slični virtualnim strojevima (virtualizacije) budući da uključuju sve što je potrebno za pokretanje u jednom paketu. Međutim, za razliku od virtualnih strojeva (VM), spremnici ne uključuju gostujući OS. Umjesto toga, spremnici se izvode na "platformi spremnika", poput Dockera, koji je instaliran na operativnom sustavu. Spremnici su "lagani", što znači da im je potrebno manje prostora na disku od VM-ova. Uz to, više spremnika može se istodobno prikazivati na istoj platformi spremnika.