|
what's a good tool for building docker images do people really use docker's own container build system these days or is there something better
|
# ? Dec 12, 2018 19:24 |
|
|
# ? Oct 5, 2024 07:02 |
|
Sapozhnik posted:what's a good tool for building docker images We build ours as part of our circleci pipeline, save to your favourite cloud's container registry.
|
# ? Dec 12, 2018 19:37 |
|
Sapozhnik posted:what's a good tool for building docker images yes people really use it a lot.
|
# ? Dec 12, 2018 20:30 |
|
looking through old projects and found the time I tried to stuff the xilinx verilog compiler into a docker image that thing did not want to fit into sub-5-gigabytes, let me tell you
|
# ? Dec 12, 2018 20:58 |
|
Sapozhnik posted:what's a good tool for building docker images We use droneci which has an ECR plugin, so one of the ci steps packages up the build artifacts using a Dockerfile and uploads to ECR. Under the hood, it's just running docker commands, though.
|
# ? Dec 12, 2018 21:18 |
|
Jabor posted:Implying someone works at the turd-shunting yard is a zero-cost insult, so it's not surprising that it just got optimized away in hackbunny's mental model oh, that. well, live by the diss, die by the diss. no regrets
|
# ? Dec 12, 2018 21:42 |
|
The only problem/gripe I’ve had with using dockerfiles is that afaik you can’t get a byte for byte replica of your artifacts on repeated builds for some reason. I think the docker plugin for bazel can do it, but the hashes always came out different for us even with the most basic + deterministic builds
|
# ? Dec 12, 2018 21:43 |
|
Sapozhnik posted:what's a good tool for building docker images docker is documented which is my standard of quality in 2018. idc if it’s idiot poo poo garbage if someone wrote down what the fuckin thing does when
|
# ? Dec 13, 2018 02:06 |
|
i'm only just starting to get caught up on this whole container fad, so I wanna check some clarification here am I right in thinking that kubernetes is, roughly, a replacement for the part of docker that's about creating and managing containers (but still uses docker's containers, just not it's... er, factories, i suppose)?
|
# ? Dec 13, 2018 02:43 |
|
Ciaphas posted:i'm only just starting to get caught up on this whole container fad, so I wanna check some clarification here kubernetes a container orchestration tool (can handle building, deploying, running, scaling, etc). there's also nomad (hashicorp), mesos (apache), swarm (docker), and probably a few others who I can't be bothered to remember. very roughly speaking they're all looking to solve the same problem (how to manage hundreds of containerized applications/services across a cluster or clusters of hosts) but with different bells and whistles and optimizations.
|
# ? Dec 13, 2018 04:15 |
|
and--again, i'm being broad as hell on purpose here--these "containers" are conceptually either VMs writ small, or jailed environments writ large? sort of? (ed: maybe "a lightweight VM utterly dedicated to running a single app with the same environment every time") this kind of deployment stuff is beyond my knowledge in general but i figure i should at least pretend to be caught up, $CURRENT_JOB thinks virtual machines are just the most amazing new hotness Ciaphas fucked around with this message at 04:21 on Dec 13, 2018 |
# ? Dec 13, 2018 04:18 |
|
VMs, are, well, virtual machines; you're running a full os/app stack in a virtualized hardware environment. containers use namespaces/cgroups to isolate processes & resources from each other while still running on top of the same kernel. i.e. with VMs you can have multiple, completely distinct OSs running simultaneously on top of the same hardware/host OS thru a hypervisor. with containers you can have multiple processes/groups of processes and resources that are logically isolated from each other by the kernal. both let you generate artifacts (images, or configuration files to build such) so that you can deploy a service along with all the necessary environment (either a complete OS for VMs or whatever bits and bobs you need on top of the kernal for containers) to a generic host in a repeatable, scalable fashion. i'm probably making hash out of it but that's my 101 level understanding of VMs and containers. Oneiros fucked around with this message at 04:45 on Dec 13, 2018 |
# ? Dec 13, 2018 04:34 |
|
[quote is not edit]
|
# ? Dec 13, 2018 04:35 |
|
containers is when you take the concept of a single statically linked binary and then you overcomplicate the absolute living poo poo out of it
|
# ? Dec 13, 2018 05:05 |
|
Sapozhnik posted:containers is when you take the concept of a single statically linked binary and then you overcomplicate the absolute living poo poo out of it this was kind of my read from the start but i felt like that was way too simple to be right so i didn't say so, lol alright, thanks, at least I have the mile-high view now
|
# ? Dec 13, 2018 05:12 |
|
A Docker container does two basic things: 1) It isolates an application's filesystem calls and shows it a virtual filesystem with just whatever you put in the container 2) It isolates an application's network communication by acting like a proxy + reverse proxy towards the rest of the local network That's the core functionality as I see it. I think it's a useful way to grok how it differs from a VM (eg why you still need to putz with the host's kernel settings when running Elasticsearch in a container - a VM would have its own). The rest of the Docker ecosystem is """just""" support for building such containers in a manageable way (Dockerfiles which define Docker images which are instantiated into Docker containers) and for deploying, connecting and monitoring them. That ecosystem can get hilariously Rube Goldberg-esque when you have thousands of containers replicated on servers across the world, or when you read too much HackerNews and think you're running a Fortune 500 infrastructure from your basement.
|
# ? Dec 13, 2018 07:54 |
|
i shunt turds all day ama
|
# ? Dec 13, 2018 08:01 |
|
redleader posted:i shunt turds all day ama where do they go
|
# ? Dec 13, 2018 08:10 |
|
Krankenstyle posted:where do they go witness their posts
|
# ? Dec 13, 2018 08:25 |
|
containers are vms except not really. like was pointd out upthread if you actually had a static binary that would be good enough. you dont' though, you have a pile of poo poo so instead you make it all into container images and can treat them like static binaries. then docker runs your binary in a jail k8s and other container schedulers are for scaling this up to a bunch of hosts without really knowing what youre doing. if you install enough extensions you can build AWS (but containers) on top of AWS. mainly this is interesting because booting a vm takes a while. also you can oversubscribe containers if the oom killer is your buddy
|
# ? Dec 13, 2018 09:57 |
|
NihilCredo posted:A Docker container does two basic things: it also isolates it from other processes etc. and the network isolation is not a fundamental part of containers, you can use the macvlan or ipvlan drivers to connect them more directly to the local network if you want
|
# ? Dec 13, 2018 10:20 |
|
containers are also good for making your devs not do lazy stateful poo poo on the filesystem and dockerfiles are an ok way of ensuring you can build your app again without the special snowflake server set up by guy who left 6 years ago
|
# ? Dec 13, 2018 11:32 |
my stepdads beer posted:containers are also good for making your devs not do lazy stateful poo poo on the filesystem and dockerfiles are an ok way of ensuring you can build your app again without the special snowflake server set up by guy who left 6 years ago Yeah they're more about enforcing a clean reproducible environment for the application than anything else in my experience.
|
|
# ? Dec 13, 2018 12:00 |
|
I still about people rewriting FreeBSD’s jails in a Linux as this incredibly new amazing thing.
|
# ? Dec 13, 2018 13:09 |
|
leper khan posted:I still about people rewriting FreeBSD’s jails in a Linux as this incredibly new amazing thing. FreeBSD jails are objectively better but all the related tooling is absolutely aimed at sysadmins. What Docker did is target devs as an audience and it made a huge difference in adoption.
|
# ? Dec 13, 2018 13:25 |
|
My experience with kubernetes (well openshift) is that writing the configuration sucks hard but is still better than all the previous deployment processes. Openshift can do CI as well which is cool
|
# ? Dec 13, 2018 13:30 |
|
k8s and docker have a legitimate use in situations where you've got 10,000 applications and 10,000 servers and installing all those applications on all those servers isn't really practical, so you want to decouple applications from the physical servers they are installed and running on. classic tools like rpm are too heavy and static and single-instance-focused to usefully accomplish this. there's also the fact that rpm is just a bad piece of software in general and the guy who wrote it did not end up leaving rh voluntarily. docker itself is a bundle of unrelated ideas and unrelated tools. there's no reason why the container build tool and the container runtime both have to be a part of "docker", for instance. there's also no essential reason for containers to be part of the picture in a landscape where you manage immutable and automatically-constructed cattle instead of hand-assembled pets; nobody has any reason to do the latter even for hobby projects these days. a good way to accomplish the best of both worlds would be to use rpm-ostree to turn rpm into a build tool instead of a system management tool, then construct and discard immutable system images which you can still log into and debug in a fairly straightforward way. but it doesn't have any traction and it doesn't have the ecosystem that docker has. people insisting on using loving ubuntu for anything ever doesn't help idk i'm too tired to keep fighting against the tide of this crap. i just feel like we could do better. the people pushing this brave new world have some legitimately good ideas but they're throwing the baby out with the bathwater.
|
# ? Dec 13, 2018 16:46 |
|
well perhaps it's because tools like docker and ubuntu have actually taken the time to be, you know, end-user friendly by providing things that seem alien to some opensource fans like "friendly documentation" and "relatively clear error messages"
|
# ? Dec 13, 2018 17:28 |
|
installing ubuntu need only yield one error message: "your poo poo is hosed, my dude" you know what else has good documentation? php
|
# ? Dec 13, 2018 17:32 |
|
Sapozhnik posted:you know what else has good documentation? php Honestly, this probably accounts for a lot of its popularity.
|
# ? Dec 13, 2018 17:42 |
|
Finster Dexter posted:Honestly, this probably accounts for a lot of its popularity. so instead of whining about people not making the best technology choices maybe they should be enticed to choose them instead of snarkily assuming that "nobody cares"
|
# ? Dec 13, 2018 19:01 |
|
Sapozhnik posted:k8s and docker have a legitimate use in situations where you've got 10,000 applications and 10,000 servers and installing all those applications on all those servers isn't really practical, so you want to decouple applications from the physical servers they are installed and running on. classic tools like rpm are too heavy and static and single-instance-focused to usefully accomplish this. well constructed golden images were the pinnacle of server management and i'll fight anyone who disagrees kubernetes has largely just turned that concept into a herd of pets managing cattle containers while the ops team tears their hair out making sure that all of k8s's inscrutable internals are working correctly so the fleet of 10,000 containers serving a fart app can continue to run
|
# ? Dec 13, 2018 19:38 |
|
Sapozhnik posted:docker itself is a bundle of unrelated ideas and unrelated tools. there's no reason why the container build tool and the container runtime both have to be a part of "docker", for instance. branding, my dude
|
# ? Dec 13, 2018 20:08 |
|
Blinkz0rz posted:well constructed golden images were the pinnacle of server management and i'll fight anyone who disagrees y do you even have servers. just deploy to azure paas.
|
# ? Dec 13, 2018 20:09 |
|
Dear Journal: today, i was a horrible horrible programmer. i did not get anything accomplished. just total frustration trying to get UIViews to animate correctly
|
# ? Dec 13, 2018 20:51 |
|
Good Sphere posted:Dear Journal: today, i was a horrible horrible programmer. i did not get anything accomplished. just total frustration trying to get UIViews to animate correctly have you tried react native?
|
# ? Dec 13, 2018 21:14 |
|
akadajet posted:have you tried react native? no, what are the benefits? i've been working on a camera effects app a year+ using pretty much swift, metal and cifilters btw i got the animation to work
|
# ? Dec 13, 2018 21:22 |
|
ctps: spent the day deleting old hilariously inaccurate documentation and replacing it with new documentation that will be old and hilariously inaccurate within a week
|
# ? Dec 13, 2018 21:44 |
|
Blinkz0rz posted:kubernetes has largely just turned that concept into a herd of pets managing cattle containers while the ops team tears their hair out making sure that all of k8s's inscrutable internals are working correctly so the fleet of 10,000 containers serving a fart app can continue to run yes, that’s exactly the point. instead of ops managing several different kinds of pets, it manages just one kind of pet. and no, you absolutely don’t need 10000 instance or application clusters to make k8s a worthwhile endeavor. you’d much rather manage a single cluster of k8s rather than every component that each of your dev teams need. K8s doco and code is rough, I agree, but it’s way better than anything you’re getting from your application teams. being able to scale to 10000 nodes “easily” is just a very nice plus.
|
# ? Dec 13, 2018 22:03 |
|
|
# ? Oct 5, 2024 07:02 |
|
akadajet posted:have you tried react native? no trolling in the terrible programmers thread cmon now
|
# ? Dec 13, 2018 22:22 |