Hey all, apologies if this is a dumb question but I've never set up Docker before. I'm mostly a C++ client app developer with about 10 YOE, and mostly working in large and well established corporate projects where choice of technology basically wasn't up to me. I have done a little backend service stuff, but basically no full stack, if that gives you an idea of where I'm coming from.
I've used Docker in the context of a work project where the test environment on the local machine was deployed in Docker, but I've never really known how to set it up or what the logic is behind when to use a Dockerhub image or not, considering that you can just run a container based on your own machine and install whatever requirements you need inside of that via a script with Dockerfile. Basically just run this script, plug and play, no thinking or debugging required.
I was working on an OSS project some time back, years ago, don't remember which one, where someone asked for a Docker image for building/testing/running the app, and I didn't know what that was about so I just let it be. Kinda wish I'd taken the time to learn at this point. It seems fairly important. When looking around for Docker images I see that there are sometimes several different users uploading a Docker image to Dockerhub for the same project. Doesn't that defeat the purpose of sharing a base Docker image suitable for a given app?...
Solution:@DemiTastes To answer a question about dockerhub duplications:
Yup some are just duplications, but more often than not, people publish their versions. And since docker images are layered, you can take base image, install an additional dependency and publish it to dockerhub or your private repo.
This is especially usefull when that docker image installs and/or compiles something (e.g. system-wide binary) as in the end you'll get an image with those deps baked in.
I do this all the time - take existing image, install additional tools, publish to private image repository and reuse that as an image during CI/CD to speed up build times....