I have a folder of MP3s, some of which date back to 1999, just a few years after the format was popularised. Most of them have utterly terrible names (think RIDEONAM.MP3). I think at this point they might even survive the heat death of the universe. And they’ll still be terribly-organised.

  • r_13@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    I tend to think of docker containers like light virtual machines.

    You can start with an image of a very simple bare operating system, or from an OS with a few things installed (in my case I have lately been using images from dockerhub under nvidia/cuda-ubuntu so that my container spins up with ubuntu and the drivers and SDK for my GPU).

    Then essentially the Dockerfile becomes the sandbox from which to test installation scripts, see what works by trial and error if necessary, to install the programs you want – if you make a mistake or the install script fails as in the comment above, you can just kill the container and spin up a new one without the “doesn’t really work wrong but its never quite right again” issue :)

    I know this does sound like ‘rtfm’ but I definitely have made a lot of use of the Docker manuals: https://docs.docker.com/manuals/

    These manuals, plus stack overflow searching for Dockerfile tips, and github repos for the software I want to use that sometimes do contain Dockerfiles, have been enough to get me acquainted with spinning up my own containers and installing what I need, and use docker compose to run multiple containers on a single host that can talk to each other. Beyond that, I had to search a bit harder (mostly on StackOverflow, but also a bit of tail-chasing using ChatGPT) to learn how to configure overlay networks to allow containers to talk to one another from on different servers, and using docker stack to spin up a swarm of containers as services on a cluster.

    • Hawke@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      Yeah… that all makes sense and those docks seem decent. The piece of the puzzle that’s missing for me is: how does docker turn a yaml config that says like … (from their example):

      > frontend:
      >     image: example/webapp
      >     ports:
      >       - "443:8043"
      >     networks:
      >       - front-tier
      >       - back-tier
      >     configs:
      >       - httpd-config
      >     secrets:
      >       - server-certificate
      

      … into actual operating, functioning container blobs? e.g. How does it know that “secrets: server-certificate means that it should take an ssl cert and place it in the container? How does it know where to place that certificate?