Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

If python is batteries included why isn't docker part of it??

Adbot
ADBOT LOVES YOU

Kazinsal
Dec 13, 2011
I should actually bother to learn containers one of these days. I'm sure by the time that I get around to learning Docker or Kubernetes or something like that, the next paradigm shift will hit or Google will axe their funding to Kubernetes and take it out back and shoot it like <insert 80% of google's historical product stack> or something

JawnV6
Jul 4, 2004

So hot ...
wait if i want to do something like the esoteric use case of "have two libraries" y'all are reaching for containers?

what happens when i want to shuffle data from tensorflow to opencv? RPC over TCP?

NtotheTC
Dec 31, 2007


taqueso posted:

If python is batteries included why isn't docker part of it??

that's how they get you. you even have to provide your own OS to run python on!

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
All the cool kids are going with podman now anyway.

Whenever I have to use Docker I'm reminded of the Debian maintainer's rant.

Choice quotes:

quote:

Upstream is notorious for incredibly sloppy versioning. Docker components are inconsistently versioned; don't depend on same version of common libraries and different revisions of dependency libraries are privately vendored. Basically upstream couldn't care less about consistent, semantic versioning and re-usable components. Shameful abomination of good software development practices... :(

quote:

We've made a mistake trying to treat it as several reusable components.

quote:

Upstream abuse of versioning practices is a shameful and incompetent disgrace. Docker people, if you are reading this I hope you feel sorry.

I, Dmitry Smirnov <onlyjob@debian.org>, find it difficult to politely express how much I despise your release process.

ChickenWing
Jul 22, 2010

:v:

python is hot flaming trash, thanks and god bless

ChickenWing
Jul 22, 2010

:v:

venvs are stupid and dumb too and the fact that python needs them is a coding horror in itself

dick traceroute
Feb 24, 2010

Open the pod bay doors, Hal.
Grimey Drawer
venv is a bad copy of a node_modules folder

Ola
Jul 19, 2004

Learning to code is easy. You spend like six months, effectively, learning assignments, types, if-else and for loops then maybe big-O and lambdas. Then it's the rest of your life trying to keep up with: "did you gulp the node into the docker? You have to giraffe the sockr through puppetr or else dingle won't build the dangle in the nonkywonk".

dick traceroute
Feb 24, 2010

Open the pod bay doors, Hal.
Grimey Drawer
Occasionally I get to write real code to do a real thing, but that is definitely the exception

Doc Hawkins
Jun 15, 2010

Dashing? But I'm not even moving!


JawnV6 posted:

wait if i want to do something like the esoteric use case of "have two libraries" y'all are reaching for containers?

what happens when i want to shuffle data from tensorflow to opencv? RPC over TCP?

containers can share files with the host and each other by mounting volumes. but admittedly i use nix to solve this problem, so i should not be trusted.

TraderStav
May 19, 2006

It feels like I was standing my entire life and I just sat down

Ola posted:

Learning to code is easy. You spend like six months, effectively, learning assignments, types, if-else and for loops then maybe big-O and lambdas. Then it's the rest of your life trying to keep up with: "did you gulp the node into the docker? You have to giraffe the sockr through puppetr or else dingle won't build the dangle in the nonkywonk".

As someone still learning development I'm finding the middle part of your statement a big grey area that I can't resolve the difference between actual technologies or satire. I'm actually hoping none of it is satire so I can sound like a Brit when I talk as I approach that level of competency.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

most of the words in the second half are made up if that helps

TraderStav
May 19, 2006

It feels like I was standing my entire life and I just sat down

taqueso posted:

most of the words in the second half are made up if that helps

What a damned shame

Doc Hawkins
Jun 15, 2010

Dashing? But I'm not even moving!


do NOT gulp the node into the docker

Volguus
Mar 3, 2009

Doc Hawkins posted:

do NOT gulp the node into the docker

But then, what's the fun in that?

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

registering nockywonk.io

Tei
Feb 19, 2011
Probation
Can't post for 3 days!

TraderStav posted:

As someone still learning development I'm finding the middle part of your statement a big grey area that I can't resolve the difference between actual technologies or satire. I'm actually hoping none of it is satire so I can sound like a Brit when I talk as I approach that level of competency.

Ofuscation is generally a marketing thing. I think.

Working on software often mean trying to make sense of somebody code, or somebody email. The pain from that last your entire life and probably cost you many year of your lifespan and a big fat part of your sanity, so nobody has a taste for ofuscation. Or I don't think so, maybe somebody have that inclination.

DaTroof
Nov 16, 2000

CC LIMERICK CONTEST GRAND CHAMPION
There once was a poster named Troof
Who was getting quite long in the toof

taqueso posted:

If python is batteries included why isn't docker part of it??

docker isn't a battery. it's a motor.

yes, that analogy is flawed, but only as flawed as "batteries included"

Absurd Alhazred
Mar 27, 2010

by Athanatos
If your loving solution to compatibility is "easy, just ship your code with a whole loving virtual machine environment that is identical to the one you developed your code in", then gently caress you and die, you suck at deployment, into the sun with you.

Volguus
Mar 3, 2009

Absurd Alhazred posted:

If your loving solution to compatibility is "easy, just ship your code with a whole loving virtual machine environment that is identical to the one you developed your code in", then gently caress you and die, you suck at deployment, into the sun with you.

But ... that's the entire point of docker. Am I missing something here?

The Fool
Oct 16, 2003


Well, for starters containers aren’t vm’s

Volguus
Mar 3, 2009

The Fool posted:

Well, for starters containers aren’t vm’s

And ....

I feel you're missing the last part of your sentence here. Yeah, they aren't VMs so they are constrained to run on the same OS as the host, but providing better performance, but they look like a duck, they quack like a duck. They're basically a duck that cannot swim and has no legs and wings and relies on everyone else to just move it around while quacking angrily.

But a duck nonetheless.

Carbon dioxide
Oct 9, 2012

DaTroof posted:

docker isn't a battery. it's a motor.

yes, that analogy is flawed, but only as flawed as "batteries included"

But according to management, the software engineering team is the motor of the company.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Ola posted:

Learning to code is easy. You spend like six months, effectively, learning assignments, types, if-else and for loops then maybe big-O and lambdas. Then it's the rest of your life trying to keep up with: "did you gulp the node into the docker? You have to giraffe the sockr through puppetr or else dingle won't build the dangle in the nonkywonk".
Lol that you're still using sockr

Bongo Bill
Jan 17, 2012

One day, the product manager prioritized a bug report, and the developer started working on it.

The developer was unable to reproduce the bug, and shrugged, saying, "It works on my machine."

The product manager replied, "We can't just send the customer your machine."

The developer then said, "But what if we could...?"

Anyway, that's how Docker was invented.

Tei
Feb 19, 2011
Probation
Can't post for 3 days!
Docker is loving awesome and almost like magic.

A clusterfuck that is growing to a even bigger clusterfuck that require Docker to even run less so.

SAVE-LISP-AND-DIE
Nov 4, 2010

Bongo Bill posted:

One day, the product manager prioritized a bug report, and the developer started working on it.

The developer was unable to reproduce the bug, and shrugged, saying, "It works on my machine."

The product manager replied, "We can't just send the customer your machine."

The developer then said, "But what if we could...?"

Anyway, that's how Docker was invented.

And that developers name.... was elton musk....

Athas
Aug 6, 2007

fuck that joker
How does Docker handle programs that are not just servers? (A rare case in the era of web programming, I know.) My day job is hacking on a compiler. How would I package that in a Docker image? It needs to be able to access user files, after all.

I do find that Nix works pretty well for isolating and packaging command line programs, although it's orthogonal to containers in the sense that it does not provide isolation at run-time. I do see some people using Nix to assemble Docker containers, which intuitively makes sense to me.

Tei
Feb 19, 2011
Probation
Can't post for 3 days!

Athas posted:

How does Docker handle programs that are not just servers? (A rare case in the era of web programming, I know.) My day job is hacking on a compiler. How would I package that in a Docker image? It needs to be able to access user files, after all.

I don't know much about docker, but you can "mount" (copy?) files inside. Probably you can mount a external drive with nfs too. Maybe theres a better way to do it.

Apparently theres many images that host compilers

https://hub.docker.com/search?q=compiler&type=image


gcc compiler image posted:

Compile your app inside the Docker container
There may be occasions where it is not appropriate to run your app inside a container. To compile, but not run your app inside the Docker instance, you can write something like:

$ docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp gcc:4.9 gcc -o myapp myapp.c

Carbon dioxide
Oct 9, 2012

Carbon dioxide fucked around with this message at 16:38 on Feb 15, 2020

Spatial
Nov 15, 2007

Put a threadripper on there and you'll have enough surface area to do it for real

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Athas posted:

How does Docker handle programs that are not just servers? (A rare case in the era of web programming, I know.) My day job is hacking on a compiler. How would I package that in a Docker image? It needs to be able to access user files, after all.

I do find that Nix works pretty well for isolating and packaging command line programs, although it's orthogonal to containers in the sense that it does not provide isolation at run-time. I do see some people using Nix to assemble Docker containers, which intuitively makes sense to me.

You can just run a command in a container as a one off command and you can map directories on the host into the container.

Containers just barely quack like a duck when it comes to comparisons to vms.

They have little of the performance overhead, only a portion of the isolation security, and only a portion of the OS flexibility.

Of course this doesn't stop people from misusing them as virtual machines, but using them like a VM is like if when the automobile came out people thought "ooo this will make a nice carriage to hook up to my horses."

They are python virtual environments except for your whole system.

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Containers are cladistically much closer to loving folders than to virtual machines.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Containers are chroots with cgroups and somehow docker managed to push their branding on them despite jails and zones having existed for ages.

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Antigravitas posted:

Containers are chroots with cgroups and somehow docker managed to push their branding on them despite jails and zones having existed for ages.

Because FreeBSD doesn't let you type 'jail run -p 5432:5432 postgresql' and instantly have a fully working RDBMS. That's nothing to sneeze at. What was the next best option in 2013?

Volguus
Mar 3, 2009
yum install postgresql
systemctl start postgresql

Space Gopher
Jul 31, 2006

BLITHERING IDIOT AND HARDCORE DURIAN APOLOGIST. LET ME TELL YOU WHY THIS SHIT DON'T STINK EVEN THOUGH WE ALL KNOW IT DOES BECAUSE I'M SUPER CULTURED.

Antigravitas posted:

Containers are chroots with cgroups and somehow docker managed to push their branding on them despite jails and zones having existed for ages.

They existed for ages and were a tremendous pain to set up.

Docker provided a relatively simple, automated-deployment-friendly packaging mechanism that integrated into existing functionality. It turns out that was something people wanted.

Making things easier to use is worthwhile development work.

NihilCredo posted:

Containers are cladistically much closer to loving folders than to virtual machines.

Cladistics doesn't make much sense in technology, where a given feature probably has dozens of direct "ancestral" dependencies. Modern container infrastructure has VMs as at least one "parent", though.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Volguus posted:

yum install postgresql
systemctl start postgresql

Now do the same thing with multiple versions of an application that require incompatible configuration files in the same location, or mutually incompatible system libraries.

Adbot
ADBOT LOVES YOU

Absurd Alhazred
Mar 27, 2010

by Athanatos

Sagacity posted:

Now do the same thing with multiple versions of an application that require incompatible configuration files in the same location, or mutually incompatible system libraries.

Why are you making the system libraries incompatible? Why is your application only able to run with a specific set? Why throw the ABI, heck, API contract out the window? Because you need to move fast and break things?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply