Hosting clarification - external web access to containerized app

Hi, new to Docker and cannot find clarity in documentation or website terminology.

Aim: host a single application in a docker container, accessible via docker NOT a third party host.

Specifically: there is talk of a single repo being available free forever, but is this accessible to the public once the app is built or is it just for a single user to develop prior to release?

Thanks.

A private repostiory is never accessible to the public.
A public repository is allways assisbile to the public.

You will need both if you want to keep your wip for yourself and release the finished images to the public.

Usualy this is the reason why developers/companies run private registries in their own environment and only push final releases to public repositories.

Pitty, I just saw that Docker Hub automated builds are not available for personal accounts anymore.

Ok, thanks. So, does “public repo” just mean a place for code collaboration, or can it be used to host the user-facing front end?
Basically I’m trying to plan how to install and host Discourse for free.
I already have domain and email but my host does not do ubuntu or containers so I am hoping that I can do it without a host (essentially, Docker as the host).
Thanks.

Ok so I have had a look through the docs in more detail for Docker Hub and Repositories.

I now have essentially the same question:

Is an image that is running in a container that is a tag in a public repo on “Docker Hub”:
a) Something that I can use for production by routing visitor traffic to its frontend via CNAME?; or
b) Only used for collaborative development (not production); or
c) Useless for running in production unless I also deploy it into a third party host (such as with ACI, ECS, Kubernetes or Swarm)

Thanks.

I have just submitted the following request via the CONTACT US page so will see what comes back. Meanwhile any thoughts are welcome.

Can I run a production instance from the Docker Hub repo without deploying to a third party host?

I just want to host Discourse on Ubuntu, but wanting to use Docker Hub for this (not deploy to ACI or ECS or Kubernetes or Swarm or any other docker hosting environment other than you).

Is this possible?

Documentation is very confusing and unclear because:
• It describes a private repo but does not describe a public repo. I have no way of knowing if a public repo is only for code collaboration or if it can also be used for production deployment. I cannot guess.
• The section on deploying to production reads as though I have an existing production environment. But, for a containerised app, the app IS the production environment.

Thanks.

You got it all wrong. Dockerhub does nothing you thing it does.

Dockerhub is a registry for docker images. Images are static artifacts that typicaly encapsulate an application, its dependencies and clever entrypoint script that orchestrats what the container executes. It is just a “wrapper” around a set of binary, scripts and configurat.

Dockerhub is not a hosting solution for containers (=runtime instances of images).

No container runtime != no containers.

This is kind of comparable if you would expect Github to run a database for you, just because you have a git project that includes some sql scripts that could be used to create a database.

Thanks, that’s helpful.

It sounds like my anticipated disappointment was correct.

From what you’re saying, it sounds like dockerhub is just a repo for the application’s code, but cannot be used to actually use that application. If so, this is what I suspected… :frowning:

To confirm, are you saying there is no way to run an application within dockerhub and face the general public with that running application?

If this is the case, what does the “public” in “public repo” allow the public to do? I take it they can just copy and/or edit the application’s code and settings, as a co-developer rather than as an end user. Is this correct?

For me, the app I want to run is already built… it’s just Discourse.

Is there any way that you can see it being possible to operate this app from dockerhub** without third party hosting?

Thanks for your help by the way!

** dockerhub, or, any other feature or function provided for free by docker, regardless of what they name it.

Almost correct. It is a repo to store docker images, which typicaly encapsulate service / appplication, their runtime, their dependencies and configuration files. Store as in “a place to safe your images” for either a closed community (=private repository) or the world (=public repository) to use.

Public means other docker users are allowed to see and use the images you upload in your public repository.

You might want address your question to the discord community - they should know how discord can be operated.