A container packs an app with everything it needs and runs it as an isolated process that shares the host kernel, so it starts fast and runs the same everywhere.