421 lines
60 KiB
Plaintext
421 lines
60 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Linux Containers[0m
|
||
|
||
[38;5;14m[1m![0m[38;5;12m#StandWithBelarus[39m[38;5;14m[1m (https://img.shields.io/badge/Belarus-red?label=%23%20Stand%20With&labelColor=white&color=red)[0m
|
||
[38;5;14m[1m (https://bysol.org/en/) [0m[38;5;12m![39m[38;5;14m[1mStand With Ukraine[0m[38;5;12m (https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)[39m[38;5;14m[1m (https://vshymanskyy.github.io/StandWithUkraine)[0m
|
||
|
||
[38;5;14m[1m![0m[38;5;12mAwesome[39m[38;5;14m[1m (https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)[0m[38;5;12m (https://github.com/sindresorhus/awesome)[39m
|
||
|
||
[38;2;255;187;0m[4mTable of Contents[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAbout the Author[0m[38;5;12m (#About-the-Author)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mFoundations[0m[38;5;12m (#foundations)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSpecifications[0m[38;5;12m (#specifications)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mClouds[0m[38;5;12m (#clouds)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOperating Systems[0m[38;5;12m (#operating-systems)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHypervisors[0m[38;5;12m (#hypervisors)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mContainers[0m[38;5;12m (#containers)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSandboxes[0m[38;5;12m (#sandboxes)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPartial Access[0m[38;5;12m (#partial-access)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mFilesystem[0m[38;5;12m (#filesystem)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDashboard[0m[38;5;12m (#dashboard)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mBest practices[0m[38;5;12m (#best-practices)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSecurity[0m[38;5;12m (#security)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mTools[0m[38;5;12m (#tools)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLinks[0m[38;5;12m (#links)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mLevels of security problems[0m[38;5;12m (#levels-of-security-problems)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mTechnologies for security[0m[38;5;12m (#technologies-for-security)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAnother Information Sources[0m[38;5;12m (#another-information-sources)[39m
|
||
|
||
[38;2;255;187;0m[4mAbout the Author[0m
|
||
|
||
[38;5;12mHello, everyone! My name is Filipp, and I have been working with high load distribution systems and services, security, monitoring, continuous deployment and release management (DevOps domain) since 2012.[39m
|
||
|
||
[38;5;12mOne of my passions is developing DevOps solutions and contributing to the open-source community. By sharing my knowledge and experiences, I strive to save time for both myself and others while fostering a culture of collaboration and learning.[39m
|
||
|
||
[38;5;12mI[39m[38;5;12m [39m[38;5;12mhad[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mleave[39m[38;5;12m [39m[38;5;12mmy[39m[38;5;12m [39m[38;5;12mhome[39m[38;5;12m [39m[38;5;12mcountry,[39m[38;5;12m [39m[38;5;12mBelarus,[39m[38;5;12m [39m[38;5;12mdue[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mmy[39m[38;5;12m [39m[38;5;12mparticipation[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;14m[1mprotests[0m[38;5;14m[1m [0m[38;5;14m[1magainst[0m[38;5;14m[1m [0m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1moppressive[0m[38;5;14m[1m [0m[38;5;14m[1mregime[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mdictator[0m[38;5;14m[1m [0m[38;5;14m[1mLukashenko[0m[38;5;12m [39m[38;5;12m(https://en.wikipedia.org/wiki/2020%E2%80%932021_Belarusian_protests),[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12mmaintains[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mclose[39m[38;5;12m [39m[38;5;12maffiliation[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mPutin.[39m
|
||
[38;5;12mSince[39m[38;5;12m [39m[38;5;12mthen,[39m[38;5;12m [39m[38;5;12mI'm[39m[38;5;12m [39m[38;5;12mtrying[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mbuild[39m[38;5;12m [39m[38;5;12mmy[39m[38;5;12m [39m[38;5;12mlife[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12mzero[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mother[39m[38;5;12m [39m[38;5;12mcountries.[39m
|
||
|
||
[38;5;12mIf[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mseeking[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mskilled[39m[38;5;12m [39m[38;5;12mDevOps[39m[38;5;12m [39m[38;5;12mlead[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12marchitect[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12menhance[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mproject,[39m[38;5;12m [39m[38;5;12mI[39m[38;5;12m [39m[38;5;12minvite[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mconnect[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mme[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;14m[1mLinkedIn[0m[38;5;12m [39m[38;5;12m(https://www.linkedin.com/in/filipp-frizzy-289a0360/)[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mexplore[39m[38;5;12m [39m[38;5;12mmy[39m[38;5;12m [39m[38;5;12mvaluable[39m[38;5;12m [39m[38;5;12mcontributions[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;14m[1mGitHub[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/Friz-zy/).[39m[38;5;12m [39m[38;5;12mLet's[39m[38;5;12m [39m[38;5;12mcollaborate[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcreate[39m[38;5;12m [39m[38;5;12msome[39m[38;5;12m [39m[38;5;12mcool[39m[38;5;12m [39m[38;5;12msolutions[39m[38;5;12m [39m[38;5;12mtogether[39m[38;5;12m [39m[38;5;12m:)[39m
|
||
|
||
[38;2;255;187;0m[4mFoundations[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOPEN CONTAINER INITIATIVE[0m[38;5;12m (https://www.opencontainers.org/) [39m
|
||
[38;5;12mThe Open Container Initiative is a lightweight, open governance structure, to be formed under the auspices of the Linux Foundation, for the express purpose of creating open industry standards around container formats and runtime.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCloud Native Computing Foundation[0m[38;5;12m (https://cncf.io/) [39m
|
||
[38;5;12mThe Cloud Native Computing Foundation will create and drive the adoption of a new set of common container technologies informed by technical merit and end user value, and inspired by Internet-scale computing.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCloud Foundry Foundation[0m[38;5;12m (https://www.cloudfoundry.org/foundation/) [39m
|
||
[38;5;12mThe Cloud is our foundry.[39m
|
||
|
||
[38;2;255;187;0m[4mSpecifications[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOpen Container Specifications[0m[38;5;12m (https://github.com/opencontainers/specs) [39m
|
||
[38;5;12mThis project is where the Open Container Initiative Specifications are written. This is a work in progress. [39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mApp Container basics[0m[38;5;12m (https://github.com/coreos/rkt/blob/master/Documentation/app-container.md) [39m
|
||
[38;5;12mApp Container (appc) is an open specification that defines several aspects of how to run applications in containers: an image format, runtime environment, and discovery protocol.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSystemd Container Interface[0m[38;5;12m (https://wiki.freedesktop.org/www/Software/systemd/ContainerInterface/) [39m
|
||
[38;5;12mSystemd is a suite of basic building blocks for a Linux system. It provides a system and service manager that runs as PID 1 and starts the rest of the system. If you write a container solution, please consider supporting the following interfaces.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mNulecule Specification[0m[38;5;12m (https://github.com/projectatomic/atomicapp/tree/master/docs/spec) [39m
|
||
[38;5;12mNulecule[39m[38;5;12m [39m[38;5;12mdefines[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mpattern[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmodel[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mpackaging[39m[38;5;12m [39m[38;5;12mcomplex[39m[38;5;12m [39m[38;5;12mmulti-container[39m[38;5;12m [39m[38;5;12mapplications[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mservices,[39m[38;5;12m [39m[38;5;12mreferencing[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m[38;5;12mtheir[39m[38;5;12m [39m[38;5;12mdependencies,[39m[38;5;12m [39m[38;5;12mincluding[39m[38;5;12m [39m[38;5;12morchestration[39m[38;5;12m [39m[38;5;12mmetadata[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12mimage[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mbuilding,[39m[38;5;12m [39m[38;5;12mdeploying,[39m[38;5;12m [39m[38;5;12mmonitoring,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mactive[39m[38;5;12m [39m
|
||
[38;5;12mmanagement.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOracle microcontainer manifesto[0m[38;5;12m (https://blogs.oracle.com/developers/the-microcontainer-manifesto) [39m
|
||
[38;5;12mThis is not a new container format, but simply a specific method for constructing a container that allows for better security and stability.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCloud Native Application Bundle Specification[0m[38;5;12m (https://github.com/deislabs/cnab-spec) [39m
|
||
[38;5;12mA package format specification that describes a technology for bundling, installing, and managing distributed applications, that are by design, cloud agnostic.[39m
|
||
|
||
[38;2;255;187;0m[4mClouds[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAmazon EC2 Container Service [0m[38;5;12m (https://aws.amazon.com/ecs/) [39m
|
||
[38;5;12mContainer management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mGoogle Cloud Platform[0m[38;5;12m (https://cloud.google.com/container-engine/) [39m
|
||
[38;5;12mRun Docker containers on Google Cloud Platform, powered by Kubernetes. Google Container Engine actively schedules your containers, based on declared needs, on a managed cluster of virtual machines. [39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mJelastic[0m[38;5;12m (http://jelastic.com/) [39m
|
||
[38;5;12mUnlimited PaaS and Container-Based IaaS in a Joint Cloud Solution for DevOps.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mJoyent[0m[38;5;12m (https://www.joyent.com/) [39m
|
||
[38;5;12mHigh-Performance Container-Native Infrastructure for Today's Demanding Real-Time Web and Mobile Applications.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mKubernetes[0m[38;5;12m (http://kubernetes.io/) [39m
|
||
[38;5;12mManage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMesosphere[0m[38;5;12m (https://mesosphere.com/) [39m
|
||
[38;5;12mThe[39m[38;5;12m [39m[38;5;12mMesosphere[39m[38;5;12m [39m[38;5;12mDatacenter[39m[38;5;12m [39m[38;5;12mOperating[39m[38;5;12m [39m[38;5;12mSystem[39m[38;5;12m [39m[38;5;12m(DCOS)[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mnew[39m[38;5;12m [39m[38;5;12mkind[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12moperating[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mspans[39m[38;5;12m [39m[38;5;12mall[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mmachines[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mdatacenter[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mcloud.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mhighly[39m[38;5;12m [39m[38;5;12melastic,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mhighly[39m[38;5;12m [39m[38;5;12mscalable[39m[38;5;12m [39m[38;5;12mway[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mdeploying[39m[38;5;12m [39m[38;5;12mapplications,[39m[38;5;12m [39m[38;5;12mservices[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mbig[39m[38;5;12m [39m[38;5;12mdata[39m
|
||
[38;5;12minfrastructure[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mshared[39m[38;5;12m [39m[38;5;12mresources.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOpenShift Origin[0m[38;5;12m (https://www.openshift.org/) [39m
|
||
[38;5;12mOpenShift[39m[38;5;12m [39m[38;5;12mOrigin[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mdistribution[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;14m[1mKubernetes[0m[38;5;12m [39m[38;5;12m(http://kubernetes.io/)[39m[38;5;12m [39m[38;5;12moptimized[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mcontinuous[39m[38;5;12m [39m[38;5;12mapplication[39m[38;5;12m [39m[38;5;12mdevelopment[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmulti-tenant[39m[38;5;12m [39m[38;5;12mdeployment.[39m[38;5;12m [39m[38;5;12mOrigin[39m[38;5;12m [39m[38;5;12madds[39m[38;5;12m [39m[38;5;12mdeveloper[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12moperations-centric[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mtop[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mKubernetes[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12menable[39m[38;5;12m [39m[38;5;12mrapid[39m[38;5;12m [39m
|
||
[38;5;12mapplication[39m[38;5;12m [39m[38;5;12mdevelopment,[39m[38;5;12m [39m[38;5;12measy[39m[38;5;12m [39m[38;5;12mdeployment[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mscaling,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlong-term[39m[38;5;12m [39m[38;5;12mlifecycle[39m[38;5;12m [39m[38;5;12mmaintenance[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12msmall[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mlarge[39m[38;5;12m [39m[38;5;12mteams.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mWarden[0m[38;5;12m (https://github.com/cloudfoundry/warden) [39m
|
||
[38;5;12mManages isolated, ephemeral, and resource controlled environments. Part of Cloud Foundry - the open platform as a service project.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mVirtuozzo[0m[38;5;12m (https://virtuozzo.com) [39m
|
||
[38;5;12mA platform, built on Virtuozzo containers, that can be easily run on top of any bare-metal or virtual servers in any public or private cloud, to automate, optimize, and accelerate internal IT and development processes.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRancher[0m[38;5;12m (http://rancher.com/) [39m
|
||
[38;5;12mRancher[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcomplete,[39m[38;5;12m [39m[38;5;12mopen[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mplatform[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mdeploying[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmanaging[39m[38;5;12m [39m[38;5;12mcontainers[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mproduction.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mincludes[39m[38;5;12m [39m[38;5;12mcommercially-supported[39m[38;5;12m [39m[38;5;12mdistributions[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mKubernetes,[39m[38;5;12m [39m[38;5;12mMesos,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mDocker[39m[38;5;12m [39m[38;5;12mSwarm,[39m[38;5;12m [39m[38;5;12mmaking[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12measy[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mrun[39m[38;5;12m [39m[38;5;12mcontainerized[39m[38;5;12m [39m[38;5;12mapplications[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12many[39m[38;5;12m [39m
|
||
[38;5;12minfrastructure.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDocker Swarm[0m[38;5;12m (https://docs.docker.com/engine/swarm/) [39m
|
||
[38;5;12mDocker Swarm is native clustering for Docker.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAzure Container Service[0m[38;5;12m (https://azure.microsoft.com/en-us/services/container-service/) [39m
|
||
[38;5;12mAzure Container Service optimizes the configuration of popular open source tools and technologies specifically for Azure.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCIAO[0m[38;5;12m (https://ciao-project.github.io/) [39m
|
||
[38;5;12m Cloud Integrated Advanced Orchestrator for Intel Clear Linux OS. [39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAlibaba Cloud Container Service[0m[38;5;12m (https://www.alibabacloud.com/fr/product/container-service) [39m
|
||
[38;5;12mContainer Service is a high-performance and scalable container application management service that enables you to use Docker and Kubernetes to manage the lifecycle of containerized applications.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mNomad[0m[38;5;12m (https://www.nomadproject.io/) [39m
|
||
[38;5;12m HashiCorp Nomad is a single binary that schedules applications and services on Linux, Windows, and Mac. It is an open source scheduler that uses a declarative job file for scheduling virtualized, containerized, and standalone applications.[39m
|
||
|
||
[38;2;255;187;0m[4mOperating Systems[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCoreOs[0m[38;5;12m (https://coreos.com/) [39m
|
||
[38;5;12mA lightweight Linux operating system designed for clustered deployments providing automation, security, and scalability for your most critical applications.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRancherOS[0m[38;5;12m (http://rancher.com/rancher-os/) [39m
|
||
[38;5;12mRancherOS is a tiny Linux distro that runs the entire OS as Docker containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mProject Atomic[0m[38;5;12m (http://www.projectatomic.io/) [39m
|
||
[38;5;12mProject Atomic provides the best platform for your Linux Docker Kubernetes (LDK) application stack. Use immutable infrastructure to deploy and scale your containerized applications.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSnappy Ubuntu Core[0m[38;5;12m (https://www.ubuntu.com/cloud/snappy) [39m
|
||
[38;5;12mUbuntu Core is the perfect system for large-scale cloud container deployments, bringing transactional updates to the world’s favourite container platform.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mResinOS[0m[38;5;12m (https://resinos.io/) [39m
|
||
[38;5;12mA host OS tailored for containers, designed for reliability, proven in production.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPhoton[0m[38;5;12m (https://github.com/vmware/photon) [39m
|
||
[38;5;12mPhoton OS is a minimal Linux container host designed to have a small footprint and tuned for VMware platforms. Photon is intended to invite collaboration around running containerized and Linux applications in a virtualized environment.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mClear Linux Project[0m[38;5;12m (https://clearlinux.org) [39m
|
||
[38;5;12mThe Clear Linux Project for Intel Architecture is a distribution built for various Cloud use cases.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCargOS[0m[38;5;12m (https://cargos.io/) [39m
|
||
[38;5;12mCargOS is a new lightweight, open source, platform for Docker hosts that aims for speed, manageability and security. Releases are built for 64-bit Intel/AMD CPUs.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOSv[0m[38;5;12m (http://osv.io/) [39m
|
||
[38;5;12mOSv is the open source operating system designed for the cloud. Built from the ground up for effortless deployment and management, with superior performance.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHypriotOS[0m[38;5;12m (http://blog.hypriot.com/about/) [39m
|
||
[38;5;12mMinimal Debian-based operating systems that is optimized to run Docker. It made it dead easy use Docker on any Raspberry Pi. [39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMCL[0m[38;5;12m (https://mcl.host) [39m
|
||
[38;5;12mMCL ([39m[48;2;30;30;40m[38;5;13m[3mMinimal Container Linux[0m[38;5;12m) is a from scratch minimal Linux OS designed specifically to run containers. It has a small footprint of ~50MB and boots within seconds. It is currently optimized to run Docker.[39m
|
||
|
||
[38;2;255;187;0m[4mHypervisors[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDocker[0m[38;5;12m (https://github.com/veggiemonk/awesome-docker#cloud-infrastructure) [39m
|
||
[38;5;12mAn open platform for distributed applications for developers and sysadmins. [39m[38;5;14m[1mStandard de facto[0m[38;5;12m.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLXD[0m[38;5;12m (https://github.com/lxc/lxd) [39m
|
||
[38;5;12mDaemon based on liblxc offering a REST API to manage LXC containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOpenVZ[0m[38;5;12m (https://openvz.org/) [39m
|
||
[38;5;12mOpenVZ[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mcontainer-based[39m[38;5;12m [39m[38;5;12mvirtualization[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mLinux.[39m[38;5;12m [39m[38;5;12mOpenVZ[39m[38;5;12m [39m[38;5;12mcreates[39m[38;5;12m [39m[38;5;12mmultiple[39m[38;5;12m [39m[38;5;12msecure,[39m[38;5;12m [39m[38;5;12misolated[39m[38;5;12m [39m[38;5;12mLinux[39m[38;5;12m [39m[38;5;12mcontainers[39m[38;5;12m [39m[38;5;12m(otherwise[39m[38;5;12m [39m[38;5;12mknown[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mVEs[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mVPSs)[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12msingle[39m[38;5;12m [39m[38;5;12mphysical[39m[38;5;12m [39m[38;5;12mserver[39m[38;5;12m [39m[38;5;12menabling[39m[38;5;12m [39m[38;5;12mbetter[39m[38;5;12m [39m[38;5;12mserver[39m[38;5;12m [39m[38;5;12mutilization[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mensuring[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mapplications[39m[38;5;12m [39m[38;5;12mdo[39m[38;5;12m [39m[38;5;12mnot[39m[38;5;12m [39m
|
||
[38;5;12mconflict.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMultiDocker[0m[38;5;12m (https://github.com/marty90/multidocker) [39m
|
||
[38;5;12mCreate a secure multi-user Docker machine, where each user is segregated into an indepentent container.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLithos[0m[38;5;12m (https://github.com/tailhook/lithos/) [39m
|
||
[38;5;12mLithos is a process supervisor and containerizer for running services. It is not intended to be system init, but rather tries to be a base tool to build container orchestration.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcontainerd[0m[38;5;12m (https://containerd.io/) [39m
|
||
[38;5;12mA container runtime which can manage a complete container lifecycle - from image transfer/storage to container execution, supervision and networking.[39m
|
||
|
||
[38;2;255;187;0m[4mContainers[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mrunc[0m[38;5;12m (https://github.com/opencontainers/runc) [39m
|
||
[38;5;12mrunc is a CLI tool for spawning and running containers according to the OCS specification.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mBocker[0m[38;5;12m (https://github.com/p8952/bocker) [39m
|
||
[38;5;12mDocker implemented in around 100 lines of bash.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRocket[0m[38;5;12m (https://github.com/coreos/rkt) [39m
|
||
[38;5;12mrkt (pronounced "rock-it") is a CLI for running app containers on Linux. rkt is designed to be composable, secure, and fast. Based on AppC specification.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLXC[0m[38;5;12m (https://github.com/lxc/lxc) [39m
|
||
[38;5;12mLXC is the well known set of tools, templates, library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mVagga[0m[38;5;12m (https://github.com/tailhook/vagga) [39m
|
||
[38;5;12mVagga is a fully-userspace container engine inspired by Vagrant and Docker, specialized for development environments.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mlibct[0m[38;5;12m (https://github.com/xemul/libct) [39m
|
||
[38;5;12mLibct is a containers management library which provides convenient API for frontend programs to rule a container during its whole lifetime.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mlibvirt[0m[38;5;12m (https://libvirt.org/drvlxc.html) [39m
|
||
[38;5;12mA big toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1msystemd-nspawn[0m[38;5;12m (https://wiki.archlinux.org/index.php/Systemd-nspawn) [39m
|
||
[38;5;12mSpawn a namespace container for debugging, testing and building. Part of [39m[38;5;14m[1msystemd[0m[38;5;12m (https://wiki.freedesktop.org/www/Software/systemd/).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mporto[0m[38;5;12m (https://github.com/yandex/porto) [39m
|
||
[38;5;12mThe main goal of Porto is to create a convenient, reliable interface over several Linux kernel mechanism such as cgroups, namespaces, mounts, networking etc.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mudocker[0m[38;5;12m (https://github.com/indigo-dc/udocker) [39m
|
||
[38;5;12mA basic user tool to execute simple containers in batch or interactive systems without root privileges.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLet Me Contain That For You[0m[38;5;12m (https://github.com/google/lmctfy) [39m
|
||
[38;5;12mLMCTFY is the open source version of Google’s container stack, which provides Linux application containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcc-oci-runtime[0m[38;5;12m (https://github.com/01org/cc-oci-runtime) [39m
|
||
[38;5;12mIntel Clear Linux OCI (Open Containers Initiative) compatible runtime.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mrailcar[0m[38;5;12m (https://github.com/oracle/railcar) [39m
|
||
[38;5;12mRailcar[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mrust[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mopencontainers[39m[38;5;12m [39m[38;5;12minitiative's[39m[38;5;12m [39m[38;5;12mruntime[39m[38;5;12m [39m[38;5;12mspec.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12msimilar[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mreference[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mrunc,[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mimplemented[39m[38;5;12m [39m[38;5;12mcompletely[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mrust[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmemory[39m[38;5;12m [39m[38;5;12msafety[39m[38;5;12m [39m[38;5;12mwithout[39m[38;5;12m [39m[38;5;12mneeding[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12moverhead[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mgarbage[39m[38;5;12m [39m[38;5;12mcollector[39m[38;5;12m [39m
|
||
[38;5;12mor[39m[38;5;12m [39m[38;5;12mmultiple[39m[38;5;12m [39m[38;5;12mthreads.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mKata Containers[0m[38;5;12m (https://katacontainers.io/) [39m
|
||
[38;5;12mKata Containers is a new open source project building extremely lightweight virtual machines that seamlessly plug into the containers ecosystem.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mplash[0m[38;5;12m (https://github.com/ihucos/plash/) [39m
|
||
[38;5;12mLightweight, rootless containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mrunv[0m[38;5;12m (https://github.com/hyperhq/runv) [39m
|
||
[38;5;12mHypervisor-based (KVM, Xen, QEMU) Runtime for OCI. Security by isolation.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mpodman[0m[38;5;12m (https://github.com/containers/libpod) [39m
|
||
[38;5;12mFull management of container lifecycle.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mfirecracker[0m[38;5;12m (https://github.com/firecracker-microvm/firecracker) [39m
|
||
[38;5;12mFirecracker runs workloads in lightweight virtual machines, called microVMs, which combine the security and isolation properties provided by hardware virtualization technology with the speed and flexibility of containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1msysbox[0m[38;5;12m (https://github.com/nestybox/sysbox) [39m
|
||
[38;5;12mSysbox is a "runc" that creates secure (rootless) containers / pods that run not just microservices, but most workloads that run in VMs (e.g., systemd, Docker, and Kubernetes), seamlessly.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1myouki[0m[38;5;12m (https://github.com/containers/youki) [39m
|
||
[38;5;12mA container runtime written in Rust.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mfootloose[0m[38;5;12m (https://github.com/weaveworks/footloose) [39m
|
||
[38;5;12mContainers that look like Virtual Machines.[39m
|
||
|
||
[38;2;255;187;0m[4mSandboxes[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mFirejail[0m[38;5;12m (https://l3net.wordpress.com/projects/firejail/) [39m
|
||
[38;5;12mFirejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mNsJail[0m[38;5;12m (https://github.com/google/nsjail) [39m
|
||
[38;5;12mNsJail is a process isolation tool for Linux. It makes use of the namespacing, resource control, and seccomp-bpf syscall filter subsystems of the Linux kernel.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSubuser[0m[38;5;12m (https://github.com/subuser-security/subuser) [39m
|
||
[38;5;12mSecuring the Linux desktop with Docker.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSnappy[0m[38;5;12m (https://wiki.ubuntu.com/SecurityTeam/Specifications/SnappyConfinement) [39m
|
||
[38;5;12mSnappy Ubuntu Core is a new rendition of Ubuntu with transactional updates - a minimal server image with the same libraries as today’s Ubuntu, but applications are provided through a simpler mechanism.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mxdg-app[0m[38;5;12m (https://wiki.gnome.org/Projects/SandboxedApps) [39m
|
||
[38;5;12mxdg-app is a system for building, distributing and running sandboxed desktop applications on Linux.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mBubblewrap[0m[38;5;12m (https://github.com/projectatomic/bubblewrap) [39m
|
||
[38;5;12mRun applications in a sandbox using Linux namespaces without root privileges, with user namespacing provided via setuid binary.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1msingularity[0m[38;5;12m (https://github.com/singularityware/singularity) [39m
|
||
[38;5;12mUniversal application containers for Linux.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLxroot[0m[38;5;12m (https://github.com/parke/lxroot) [39m
|
||
[38;5;12mLxroot is a flexible, lightweight, and safer alternative to chroot and/or Docker for non-root users on Linux.[39m
|
||
|
||
[38;2;255;187;0m[4mPartial Access[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mnsenter[0m[38;5;12m (http://man7.org/linux/man-pages/man1/nsenter.1.html) [39m
|
||
[38;5;12mRun program with namespaces of other processes. Part of the util-linux.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mip-netns[0m[38;5;12m (http://man7.org/linux/man-pages/man8/ip-netns.8.html) [39m
|
||
[38;5;12mProcess network namespace management. Part of the iproute2.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1munshare[0m[38;5;12m (http://man7.org/linux/man-pages/man1/unshare.1.html) [39m
|
||
[38;5;12mRun program with some namespaces unshared from parent. Part of the util-linux.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mpython-nsenter[0m[38;5;12m (https://github.com/zalando/python-nsenter) [39m
|
||
[38;5;12mThis Python package allows entering Linux kernel namespaces (mount, IPC, net, PID, user and UTS) by doing the "setns" syscall.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mbutter[0m[38;5;12m (https://pypi.python.org/pypi/butter) [39m
|
||
[38;5;12mPython library to interface to low level linux features (inotify, fanotify, timerfd, signalfd, eventfd, containers) with asyncio support.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mpyspaces[0m[38;5;12m (https://github.com/Friz-zy/pyspaces) [39m
|
||
[38;5;12mWorks with Linux namespaces through glibc with pure python.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCRIU[0m[38;5;12m (https://criu.org/Main_Page) [39m
|
||
[38;5;12mCheckpoint/Restore[39m[38;5;12m [39m[38;5;12mIn[39m[38;5;12m [39m[38;5;12mUserspace[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12msoftware[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mLinux[39m[38;5;12m [39m[38;5;12moperating[39m[38;5;12m [39m[38;5;12msystem.[39m[38;5;12m [39m[38;5;12mUsing[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mtool,[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mfreeze[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mrunning[39m[38;5;12m [39m[38;5;12mapplication[39m[38;5;12m [39m[38;5;12m(or[39m[38;5;12m [39m[38;5;12mpart[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mit)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcheckpoint[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mhard[39m[38;5;12m [39m[38;5;12mdrive[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcollection[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mfiles.[39m[38;5;12m [39m[38;5;12mCRIU[39m[38;5;12m [39m[38;5;12mintegrated[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mDocker[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mLXC[39m[38;5;12m [39m
|
||
[38;5;12mto[39m[38;5;12m [39m[38;5;12mimplement[39m[38;5;12m [39m[38;5;12mLive[39m[38;5;12m [39m[38;5;12mmigration[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mcontainers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMoby[0m[38;5;12m (https://github.com/moby/moby) [39m
|
||
[38;5;12mA "Lego set" of toolkit components for containers software created by Docker.[39m
|
||
|
||
[38;2;255;187;0m[4mFilesystem[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mcontainer-diff[0m[38;5;12m (https://github.com/GoogleCloudPlatform/container-diff) [39m
|
||
[38;5;12mA tool for analyzing and comparing container images.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mbuildah[0m[38;5;12m (https://github.com/projectatomic/buildah) [39m
|
||
[38;5;12mA tool which facilitates building OCI container images.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mskopeo[0m[38;5;12m (https://github.com/projectatomic/skopeo) [39m
|
||
[38;5;12mWork with remote images registries - retrieving information, images, signing content.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mimg[0m[38;5;12m (https://github.com/jessfraz/img) [39m
|
||
[38;5;12mStandalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdgr[0m[38;5;12m (https://github.com/blablacar/dgr) [39m
|
||
[38;5;12mCommand line utility designed to build and to configure at runtime App Containers Images (ACI) and App Container Pods (POD) based on convention over configuration.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mWhaler[0m[38;5;12m (https://github.com/P3GLEG/Whaler) [39m
|
||
[38;5;12mWhaler is designed to reverse engineer a Docker Image into the Dockerfile that created it.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdive[0m[38;5;12m (https://github.com/wagoodman/dive) [39m
|
||
[38;5;12mA tool for exploring each layer in a docker image.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mgo-containerregistry[0m[38;5;12m (https://github.com/google/go-containerregistry) [39m
|
||
[38;5;12mGo library and CLIs for working with container registries.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mkaniko[0m[38;5;12m (https://github.com/GoogleContainerTools/kaniko) [39m
|
||
[38;5;12mKaniko is a tool to build container images from a Dockerfile, inside a container or Kubernetes cluster.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mumoci[0m[38;5;12m (https://umo.ci/) [39m
|
||
[38;5;12mUmoci is a tool to manipulate OCI container images, and can be used as a rudimentary build tool.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdocker pushrm[0m[38;5;12m (https://github.com/christian-korneck/docker-pushrm) [39m
|
||
[38;5;12mA Docker CLI plugin that that lets you push the README.md file from the current directory to a container registry. Supports Docker Hub, Quay and Harbor.[39m
|
||
|
||
|
||
[38;2;255;187;0m[4mDashboard[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLXC-Web-Panel[0m[38;5;12m (https://lxc-webpanel.github.io/) [39m
|
||
[38;5;12mWeb panel for LXC on Ubuntu.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLiman[0m[38;5;12m (https://github.com/salihciftci/liman) [39m
|
||
[38;5;12mBasic docker monitoring web application.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mportainer[0m[38;5;12m (https://github.com/portainer/portainer) [39m
|
||
[38;5;12mLightweight Docker management UI.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mswarmpit[0m[38;5;12m (https://github.com/swarmpit/swarmpit) [39m
|
||
[38;5;12mLightweight mobile-friendly Docker Swarm management UI.[39m
|
||
|
||
[38;2;255;187;0m[4mBest practices[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mThe Twelve-Factor App[0m[38;5;12m (https://12factor.net/) [39m
|
||
[38;5;12mThe twelve-factor app is a methodology for building software-as-a-service apps.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mContainer Best Practices[0m[38;5;12m (http://docs.projectatomic.io/container-best-practices/) [39m
|
||
[38;5;12mA collaborative project to document container-based application architecture, creation and management from Project Atomic.[39m
|
||
|
||
[38;2;255;187;0m[4mSecurity[0m
|
||
|
||
[38;2;255;187;0m[4mTools[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDocker bench security[0m[38;5;12m (https://github.com/docker/docker-bench-security) [39m
|
||
[38;5;12mThe Docker Bench for Security is a script that checks for dozens of common best-practices around deploying Docker containers in production.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCoreOS Clair[0m[38;5;12m (https://coreos.com/blog/vulnerability-analysis-for-containers/) [39m
|
||
[38;5;12mOpen Source Vulnerability Analysis for your Containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mbane[0m[38;5;12m (https://github.com/jfrazelle/bane) [39m
|
||
[38;5;12mCustom AppArmor profile generator for docker containers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOpenSCAP[0m[38;5;12m (https://github.com/OpenSCAP/container-compliance) [39m
|
||
[38;5;12mThe OpenSCAP ecosystem provides multiple tools to assist administrators and auditors with assessment, measurement and enforcement of security baselines.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdrydock[0m[38;5;12m (https://github.com/zuBux/drydock) [39m
|
||
[38;5;12mDrydock provides a flexible way of assessing the security of your Docker daemon configuration and containers using editable audit templates.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mtrireme[0m[38;5;12m (https://www.aporeto.com/trireme/) [39m
|
||
[38;5;12mSecurity by segmentation for Docker and Kubernetes.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mgoss[0m[38;5;12m (https://github.com/aelsabbahy/goss) [39m
|
||
[38;5;12mQuick and Easy server testing/validation.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1msockguard[0m[38;5;12m (https://github.com/buildkite/sockguard) [39m
|
||
[38;5;12mA proxy for docker.sock that enforces access control and isolated privileges.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mgvisor[0m[38;5;12m (https://github.com/google/gvisor) [39m
|
||
[38;5;12mgVisor[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12muser-space[39m[38;5;12m [39m[38;5;12mkernel,[39m[38;5;12m [39m[38;5;12mwritten[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mGo,[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mimplements[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12msubstantial[39m[38;5;12m [39m[38;5;12mportion[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mLinux[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12msurface.[39m[38;5;12m [39m[38;5;12mIt[39m[38;5;12m [39m[38;5;12mincludes[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mOpen[39m[38;5;12m [39m[38;5;12mContainer[39m[38;5;12m [39m[38;5;12mInitiative[39m[38;5;12m [39m[38;5;12m(OCI)[39m[38;5;12m [39m[38;5;12mruntime[39m[38;5;12m [39m[38;5;12mcalled[39m[38;5;12m [39m[38;5;12mrunsc[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mprovides[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12misolation[39m[38;5;12m [39m[38;5;12mboundary[39m[38;5;12m [39m[38;5;12mbetween[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mapplication[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m
|
||
[38;5;12mthe[39m[38;5;12m [39m[38;5;12mhost[39m[38;5;12m [39m[38;5;12mkernel.[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mrunsc[39m[38;5;12m [39m[38;5;12mruntime[39m[38;5;12m [39m[38;5;12mintegrates[39m[38;5;12m [39m[38;5;12mwith[39m[38;5;12m [39m[38;5;12mDocker[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mKubernetes,[39m[38;5;12m [39m[38;5;12mmaking[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12msimple[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mrun[39m[38;5;12m [39m[38;5;12msandboxed[39m[38;5;12m [39m[38;5;12mcontainers.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdocker-explorer[0m[38;5;12m (https://github.com/google/docker-explorer/) [39m
|
||
[38;5;12mA tool to help forensicate offline docker acquisitions.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1moci-seccomp-bpf-hook[0m[38;5;12m (https://github.com/containers/oci-seccomp-bpf-hook) [39m
|
||
[38;5;12mOCI hook to trace syscalls and generate a seccomp profile.[39m
|
||
|
||
[38;2;255;187;0m[4mLinks[0m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCIS Security Benchmarks[0m[38;5;12m (https://benchmarks.cisecurity.org/about/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAre Docker containers really secure?[0m[38;5;12m (https://opensource.com/business/14/7/docker-security-selinux)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mBringing new security features to Docker[0m[38;5;12m (https://opensource.com/business/14/9/security-for-docker)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDocker, Linux Containers (LXC), and security[0m[38;5;12m (http://www.slideshare.net/jpetazzo/docker-linux-containers-lxc-and-security)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mFor containers, security is problem #1[0m[38;5;12m (http://www.itworld.com/article/2920349/security/for-containers-security-is-problem-1.html)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux Container Security[0m[38;5;12m (https://mjg59.dreamwidth.org/33170.html)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAsk HN: Best Linux sandbox?[0m[38;5;12m (https://news.ycombinator.com/item?id=10030868)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCIS Docker 1.6 Benchmark v1.0.0[0m[38;5;12m (https://benchmarks.cisecurity.org/tools2/docker/CIS_Docker_1.6_Benchmark_v1.0.0.pdf)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mUnderstanding docker security and best practices[0m[38;5;12m (https://blog.docker.com/2015/05/understanding-docker-security-and-best-practices/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mUpdate on Ubuntu Phone security issue[0m[38;5;12m (https://insights.ubuntu.com/2015/10/15/update-on-ubuntu-phone-security-issue/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDon't expose the Docker socket (not even to a container)[0m[38;5;12m (https://www.lvh.io/posts/dont-expose-the-docker-socket-not-even-to-a-container/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRedHat Blog[0m[38;5;12m (http://rhelblog.redhat.com/?s=container&submit=Search)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mIntroduction to Linux Containers[0m[38;5;12m (https://access.redhat.com/articles/1353593)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mWhat’s Next for Containers? User Namespaces[0m[38;5;12m (http://rhelblog.redhat.com/2015/07/07/whats-next-for-containers-user-namespaces/#more-1004)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mArchitecting Containers Part 1: Why Understanding User Space vs. Kernel Space Matters[0m[38;5;12m (http://rhelblog.redhat.com/2015/07/29/architecting-containers-part-1-user-space-vs-kernel-space/)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mArchitecting Containers Part 2: Why the User Space Matters[0m[38;5;12m (http://rhelblog.redhat.com/2015/09/17/architecting-containers-part-2-why-the-user-space-matters-2/)[39m
|
||
[38;5;12m - [39m[38;5;14m[1mSecure Your Containers with this One Weird Trick[0m[38;5;12m (http://rhelblog.redhat.com/2016/10/17/secure-your-containers-with-this-one-weird-trick/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mWhy you shouldn't use ENV variables for secret data[0m[38;5;12m (https://diogomonica.com/2017/03/27/why-you-shouldnt-use-env-variables-for-secret-data/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mWhen to use-Docker alternatives rkt and LXD[0m[38;5;12m (http://searchitoperations.techtarget.com/tip/When-to-use-Docker-alternatives-rkt-and-LXD)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mThe container is a lie[0m[38;5;12m (https://platform.sh/blog/2020/the-container-is-a-lie/)[39m
|
||
|
||
[38;2;255;187;0m[4mLevels of security problems[0m
|
||
|
||
[38;5;12m1) regular application[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12malways untrusted -> know it[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12msuid bit -> mount with nosuid[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mlimit available syscall -> seccomp-bpf, grsec[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mleak to another container (bug in namespaces, filesystem) -> user namespaces with different uid inside for each container: 1000 in container - 14293 and 15398 outside; security modules like selinux or apparmor[39m
|
||
|
||
[38;5;12m2) system services like cron, ssh[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mrun as root -> isolate via bastion host or vm[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12musing /dev -> "devices" control group [39m
|
||
[38;5;12mThe following device nodes are created in the container by default. [39m
|
||
[38;5;12mThe Docker images are also mounted with nodev, which means that even if a device node was pre-created in the image, it could not be used by processes within the container to talk to the kernel. [39m
|
||
[38;5;12m/dev/console,/dev/null,/dev/zero,/dev/full,/dev/tty[39m[48;2;30;30;40m[38;5;13m[3m,/dev/urandom,/dev/random,/dev/fuse[0m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mroot calls -> capabilities (cap_sys_admin warning!) [39m
|
||
[38;5;12mHere is the current list of capabilities that Docker uses: chown, dac_override, fowner, kill, setgid, setuid, setpcap, net_bind_service, net_raw, sys_chroot, mknod, setfcap, and audit_write. [39m
|
||
[38;5;12mDocker removes several of these capabilities including the following: [39m
|
||
[38;5;12mCAP_SETPCAP Modify process capabilities [39m
|
||
[38;5;12mCAP_SYS_MODULE Insert/Remove kernel modules [39m
|
||
[38;5;12mCAP_SYS_RAWIO Modify Kernel Memory [39m
|
||
[38;5;12mCAP_SYS_PACCT Configure process accounting [39m
|
||
[38;5;12mCAP_SYS_NICE Modify Priority of processes [39m
|
||
[38;5;12mCAP_SYS_RESOURCE Override Resource Limits [39m
|
||
[38;5;12mCAP_SYS_TIME Modify the system clock [39m
|
||
[38;5;12mCAP_SYS_TTY_CONFIG Configure tty devices [39m
|
||
[38;5;12mCAP_AUDIT_WRITE Write the audit log [39m
|
||
[38;5;12mCAP_AUDIT_CONTROL Configure Audit Subsystem [39m
|
||
[38;5;12mCAP_MAC_OVERRIDE Ignore Kernel MAC Policy [39m
|
||
[38;5;12mCAP_MAC_ADMIN Configure MAC Configuration [39m
|
||
[38;5;12mCAP_SYSLOG Modify Kernel printk behavior [39m
|
||
[38;5;12mCAP_NET_ADMIN Configure the network [39m
|
||
[38;5;12mCAP_SYS_ADMIN Catch all [39m
|
||
[38;5;12muses /proc, /sys -> remount ro, drop cap_sys_admin; security modules like selinux or apparmor; some part of this fs are "namespace-aware" [39m
|
||
[38;5;12mDocker mounts these file systems into the container as "read-only" mount points. [39m
|
||
[38;5;12m. /sys [39m
|
||
[38;5;12m. /proc/sys [39m
|
||
[38;5;12m. /proc/sysrq-trigger [39m
|
||
[38;5;12m. /proc/irq [39m
|
||
[38;5;12m. /proc/bus [39m
|
||
[38;5;12mCopy-on-write file systems [39m
|
||
[38;5;12mDocker[39m[38;5;12m [39m[38;5;12muses[39m[38;5;12m [39m[38;5;12mcopy-on-write[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12msystems.[39m[38;5;12m [39m[38;5;12mThis[39m[38;5;12m [39m[38;5;12mmeans[39m[38;5;12m [39m[38;5;12mcontainers[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12muse[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msame[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12mimage[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mbase[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcontainer.[39m[38;5;12m [39m[38;5;12mWhen[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12mwrites[39m[38;5;12m [39m[38;5;12mcontent[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mimage,[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mgets[39m[38;5;12m [39m[38;5;12mwritten[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12mspecific[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12msystem.[39m[38;5;12m [39m[38;5;12mThis[39m[38;5;12m [39m[38;5;12mprevents[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m
|
||
[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12mseeing[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mchanges[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12manother[39m[38;5;12m [39m[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12meven[39m[38;5;12m [39m[38;5;12mif[39m[38;5;12m [39m[38;5;12mthey[39m[38;5;12m [39m[38;5;12mwrote[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msame[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12msystem[39m[38;5;12m [39m[38;5;12mimage.[39m[38;5;12m [39m[38;5;12mJust[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mimportant,[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mnot[39m[38;5;12m [39m[38;5;12mchange[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mimage[39m[38;5;12m [39m[38;5;12mcontent[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12meffect[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mprocesses[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12manother[39m[38;5;12m [39m[38;5;12mcontainer.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12muid 0 -> user namespaces, uid 0 mappet to random uid outside[39m
|
||
|
||
[38;5;12m3) system services like devices, network, filesystems[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mroot -> more of services should work on host outside; isolate sensitive functions, run as non-privileged context[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mfull privileges -> isolate on kernel level[39m
|
||
|
||
[38;5;12m4) kernel drivers, network stack, security policies[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mabsolute privileges -> run it in separate vm[39m
|
||
|
||
[38;5;12m5) general like immutable infrastructure[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mcontainer is ro[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mwrite to small separate rw nosuid part[39m
|
||
|
||
[38;5;14m[1msrc[0m[38;5;12m (http://www.slideshare.net/jpetazzo/docker-linux-containers-lxc-and-security) [39m
|
||
[38;5;14m[1msrc[0m[38;5;12m (https://opensource.com/business/14/9/security-for-docker)[39m
|
||
|
||
[38;2;255;187;0m[4mTechnologies for security[0m
|
||
|
||
[38;5;12mThings are better. For example, most modern container technologies can make use of Linux's built-in security tools such as: [39m
|
||
[38;5;14m[1mAppArmor[0m[38;5;12m (http://wiki.apparmor.net/index.php/Main_Page), [39m[38;5;14m[1mSELinux[0m[38;5;12m (http://selinuxproject.org/page/Main_Page) and [39m[38;5;14m[1mSeccomp[0m[38;5;12m (http://man7.org/linux/man-pages/man2/seccomp.2.html) policies; [39m
|
||
[38;5;14m[1mGrsecurity[0m[38;5;12m (https://grsecurity.net/); [39m
|
||
[38;5;14m[1mControl groups (cgroups)[0m[38;5;12m (https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html); [39m
|
||
[38;5;14m[1mKernel namespaces[0m[38;5;12m (http://man7.org/linux/man-pages/man7/namespaces.7.html) [39m
|
||
[38;5;14m[1msrc[0m[38;5;12m (http://www.itworld.com/article/2920349/security/for-containers-security-is-problem-1.html)[39m
|
||
|
||
[38;5;12mSure, you're deploying seccomp, but you can't use selinux inside your container, because the policy isn't per-namespace (?? lxc uses apparmore for each container...) [39m
|
||
[38;5;14m[1msVirt[0m[38;5;12m (http://selinuxproject.org/page/SVirt) - selinux for kvm [39m
|
||
[38;5;14m[1msrc[0m[38;5;12m (https://mjg59.dreamwidth.org/33170.html)[39m
|
||
|
||
[38;5;12mMajor kernel subsystems are not namespaced like: [39m
|
||
[38;5;12m- SELinux [39m
|
||
[38;5;12m- Cgroups [39m
|
||
[38;5;12m- file systems under /sys [39m
|
||
[38;5;12m- /proc/sys, /proc/sysrq-trigger, /proc/irq, /proc/bus[39m
|
||
|
||
[38;5;12mDevices are not namespaced: [39m
|
||
[38;5;12m- /dev/mem [39m
|
||
[38;5;12m- /dev/sd[39m[48;2;30;30;40m[38;5;13m[3m file system devices [0m
|
||
[38;5;12m- kernel modules[39m
|
||
|
||
[38;5;12mIf you can communicate or attack one of these as a privileged process, you can own the system. [39m
|
||
[38;5;14m[1msrc[0m[38;5;12m (https://opensource.com/business/14/7/docker-security-selinux)[39m
|
||
|
||
[38;2;255;187;0m[4mAnother Information Sources[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1msysdig-container-ecosystem[0m[38;5;12m (https://github.com/draios/sysdig-container-ecosystem) [39m
|
||
[38;5;12mThe ecosystem of awesome new technologies emerging around containers and microservices can be a little overwhelming, to say the least. We thought we might be able to help: welcome to the Container Ecosystem Project.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mdoger.io[0m[38;5;12m (http://doger.io/) [39m
|
||
[38;5;12mThis[39m[38;5;12m [39m[38;5;12mpage[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12man[39m[38;5;12m [39m[38;5;12mattempt[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mdocument[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mins[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mouts[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mcontainers[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mLinux.[39m[38;5;12m [39m[38;5;12mThis[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mnot[39m[38;5;12m [39m[38;5;12mjust[39m[38;5;12m [39m[38;5;12mrestricted[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mprogrammers[39m[38;5;12m [39m[38;5;12mlooking[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mimplement[39m[38;5;12m [39m[38;5;12mcontainers[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12muse[39m[38;5;12m [39m[38;5;12mcontainer[39m[38;5;12m [39m[38;5;12mlike[39m[38;5;12m [39m[38;5;12mfeatures[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mtheir[39m[38;5;12m [39m[38;5;12mown[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mbut[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mSysadmins[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mUsers[39m[38;5;12m [39m[38;5;12mwho[39m[38;5;12m [39m[38;5;12mwant[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mget[39m[38;5;12m [39m
|
||
[38;5;12mmore[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mhandle[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mhow[39m[38;5;12m [39m[38;5;12mcontainers[39m[38;5;12m [39m[38;5;12mwork[39m[38;5;12m [39m[38;5;12m'under[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mhood'.[39m[38;5;12m [39m
|
||
|
||
[38;5;12mlinuxcontainers Github: https://github.com/Friz-zy/awesome-linux-containers[39m
|