Fork me on GitHub
#graalvm
<
2020-11-20
>
zane03:11:17

> I know JVM does not mix with Docker @nathantech2005 How do you mean?

lread15:11:19

@nathantech2005, coincidentally the 20.3.0 webcast does spend some time talking about docker, you might want to watch: https://youtu.be/qH9C3kLbk9o

lread15:11:21

@zane, I can only assume @nathantech2005 is talking about slower startup times with JVM apps. Is that what you mean @nathantech2005?

zane15:11:37

That would have been my guess, but I wanted to be sure!

hipster coder17:11:54

well… that is part of it… JVM takes too long to load inside docker… and then @U04V15CAJ was explaining there is a throughput vs performance/memory trade off

hipster coder17:11:07

you know, I need to clarify what throughput means in my own head… I always think of when the data centers will throttle your speeds… as throughput… but then there is also the bandwidth portion… throughput is really speed x bandwidth = volume… 2 dimensions

hipster coder17:11:30

e.g. speed of fiber optics vs copper

dharrigan16:11:13

The issue of running the JVM on Docker has long been solved. We run hundreds of containers in docker swarms, with a mix of Java 8 and Java 11 and we have no issues since the improvements on the JVM detecting that it's running within a container.

hipster coder17:11:10

wow, seiously, cutting edge… swarms? what is that?

dharrigan17:11:54

oh, swarms are pretty old now. kubernetes has won the mindshare.

hipster coder03:12:33

do you think Kubernetes is here to stay?

dharrigan07:12:12

Yes...until something inevitably comes along to replace it...

lukasz16:11:28

Same. Slow starts are also no issue since container orchestration does 0-downtime deployments and waits for new instances to start, before shutting down older ones.

hipster coder17:11:51

so you are saying start time is really moot, when you have 100s of containers, scaling up and down, ahead of time

hipster coder17:11:42

I wonder why they made such a big deal out of just a few containers taking time to startup… when it becomes moot…. when there’s plenty of standby containers ready to take the load

lukasz17:11:34

Because it is really painful if you're running a single instance of something. Which never should be the case and you always need 2 of everything for resiliency

tvaughan17:11:38

We run our clojure apps in production in AWS, no problems. Though we'll move to podman eventually

hipster coder17:11:59

ya, no idea why that docker presentation made such a big deal out of … JVM vs Docker

hipster coder17:11:30

the only serious problems I ever ran into Docker, when on Virtual Box, OSX… was file management… files not syncing properly

hipster coder17:11:34

for local dev setup

tvaughan17:11:43

There's no need to use virtualbox anymore. I haven't had a problem with shared folders on macOS for a very long time. Can't speak to Windows though

lukasz17:11:28

@tvaughan oh, I thought that the file sync was busted on the mac - so I can edit files locally and have changes reflected in the container when using file watchers etc?

hipster coder17:11:24

yea, file sync was busted on OSX, but that was on Virtual Box…. they changed to a new Mac OS VM… no more Virtual Box

hipster coder17:11:52

it was a real bummer about 1.5 years ago… could not use Docker for a local dev setup… and I had been using Vagrant with Salt Stack before

lukasz17:11:54

Now I want to know when did they fix that :-)

lukasz17:11:13

I'll give it a go again and see how it works in our setup

tvaughan17:11:51

The file system change event notifications didn't propagate, so you had to use a polling watcher. Wasn't terrible, but it was acceptable. I don't remember when things just worked 🙂

hipster coder17:11:31

@tvaughan how on earth did you manage to even fix that… with a polling watcher? You did that yourself?

hipster coder17:11:46

did you hack Docker? hahahahaha

tvaughan17:11:42

I set a configuration flag in the tools I used, or selected a polling watcher, like modd

tvaughan17:11:18

shadow-cljs has such a flag, for example

hipster coder17:11:48

so there is mods for Docker?

hipster coder17:11:27

you know… that might be a really good answer to the “what’s the biggest tech problem you solved lately?” question

hipster coder17:11:37

ok, that’s super cool.. you know what else that’s good for… watching for file changes, to hack stuff

hipster coder17:11:55

last time I used a file monitor, was to watch dll files changing… and grab the passwords

hipster coder17:11:41

ahh ok, yea, windows… crap… well, I am going to try it again, for Win/Linux/OSX… team of 10

hipster coder17:11:02

I can’t evangelize everyone to Linux

tvaughan17:11:52

Last time I had to use Windows was pre WSL and things mostly worked. I suspect things are much better now with WSL

hipster coder17:11:58

So Windows is still using Virtual Box for Docker?

tvaughan17:11:25

No, Hyper-V

hipster coder17:11:50

ok, so with WSL…. my team can run Docker on Linux, inside their Windows?

hipster coder17:11:14

dang, I would have thought Hyper-V would work awesome… I think that’s VMWare? right?

hipster coder17:11:21

Hyper-V under neath VMWare?

tvaughan17:11:35

Hyper-V is native to Windows

hipster coder17:11:13

ok, maybe different. the terms get confusing… VMWare uses Hyper Visor

tvaughan17:11:14

I wouldn't use WSL to run the docker deamon. I would use Docker Desktop. But WSL should be the best bet for running the client

hipster coder17:11:07

ok, I am going to give it a try… honestly though. VMWare was the best ever for this stuff

hipster coder17:11:29

because I had the freedom to totally screw up the system… and restore it with backups

tvaughan17:11:23

Same with docker/podman. Push images to a registry. Start over with docker system prune

tvaughan17:11:46

I wish there was a way to push volumes to some kind of a registry too

hipster coder17:11:25

like an off site registry, repo? so you can pull them down anywhere?

hipster coder17:11:56

oh, you mean, just the volumes? include the entire drive, data, everything?

hipster coder17:11:06

not just the docker config

hipster coder17:11:15

I would just be very careful… because if you mean the app… and there’s security keys, you don’t want that getting exposed

hipster coder17:11:23

I woke up to a $25k bill from Amazon, one morning

tvaughan17:11:47

There's not much in the way of configuration. A Dockerfile and everything else would be in a git repo, I assume. If you care about saving the docker images, those can be pushed to a registry. A volume is just data that's shared with a running container. A volume persists after the container has stopped.

lread17:11:20

It’s not that I am finding this conversation uninteresting, but maybe it isn’t about GraalVM? There is a neglected #docker channel.

hipster coder17:11:21

well, I am interested… how would pushing the volumes up to a repo… help you?

hipster coder17:11:31

ahh sorry, let’s move it

lread17:11:55

No problemo!

hipster coder17:11:09

@tvaughan join me there #docker I want to here this idea