I don't get it

Why not just run software on your server?

Attached: 1634596301354.png (247x204, 5.6K)

because the microservices were only designed to run in specific container OS environments and won't run on bare metal.

easier to replace

dockerhub is like an alternate package manager
but it is basically statically linked libs instead, making packages stateless/immutable
if you install on the server directly, then update some application dependency later, the app can break
this happens frequently just between dev machines and production because devs regularly have bleeding edge dependencies, while prod will have old "stable" ones

Because the cloud exists?

How does it compare to flatpack and snap

And FreeBSD jails

>update packages
>Service no longer works due to a dependency being too updated and deprecating code
At least that happened enough for me to justify learning Docker.

doesn't this bring up a new problem?
>Dependency X has a security vulnerability. Dependency X is required by software A, B, and C
You can either
>Update dependency X
or
>Wait for A, B, and C devs to release their updates

>pull new docker to get the update
>doesn't work server is down
>look at documentation
>"just use docker-compose up :)"
>google error no results

I thought this was supposed to make shit easier

Attached: 1476682919322.png (121x148, 20.66K)

cause my server is os is cli and i need muh gui on some applications

because portainer is easy to use and just werks.

>docker rootful
ngmi

very different use cases

I don't know what that means and I don't care.

Attached: 1653886152915.jpg (1068x601, 56.31K)

a new guy joined our team, i handed him a docker compose file and he was immediately running our stuff on his machine.

Attached: 1653842634269.png (400x395, 332.73K)

>Why not just run software on your server?
I don't want to have to install 37362 packages weighing 3.2TB because some nigger didn't just make a static binary

Yes, in fact it can be a problem sometimes

Attached: image.png (589x379, 130.65K)

>environmental isolation.
Applications require dependencies that can conflict and cause compatibility issue which created the need for utilities like Virtual Machines. VMs take up to many resources. NT, Linux and BSD are pretty heavy compared to a container with only the base utilities you need.

>immutability and desired state.
infrastructure should be predefined and protected from drift. versioning your application states allows you to easily test, validate and roll back if you have the need.

wtf are you talking about? static linking and docker are inherently heavier than dynamic linking

show us the error

>dependencies that can conflict
then why don't you just fix your shit?