What I want to do before we finalize this is push both of these image on to Docker Hub.
All right.
So here I'm going to say Docker.
We know the image name is RC 087.
Well in this case your username slash some name.
So I'm going to say docker push R slim 087 slash.
Great submission portal whatever it is that you named the image.
And we're going to push that onto Docker Hub.
Make sure you specify your username.
Otherwise it's not going to push to the correct repo.
And then I'm going to push Docker push R slim 087 slash uh grade submission API
Let me put this on one end.
Let me put this on the other end.
All right.
Let's go to Docker Hub.
Go to your own Docker hub.
Okay.
Repositories.
You should have two repositories now one great submission API, one great submission portal.
What I want you to do.
You know what?
Putting those together was a bad idea.
What I want you to do is for the Great Submission portal.
Click to edit the description.
Copy over the Readme for the Great Submission portal into your repo.
Okay, once you do that and submit it, the Readme describes how this application is used, what was
done to build the image, and the requirements that are needed to actually set this application up successfully.
So creating a container from this app requires a docker and the Great submission API to be running on
the same Docker network.
Okay.
Uh, then, uh, just feel free to copy this into the description up on top.
Do the same thing for the great Submission API.
Copy over the Readme for it over here.
You'll notice that, um, it mentions a version two.
We'll talk about versioning later.
And I seem to have an edit and an error in my markdown.
I'll probably correct it by the time you're watching this video.
Um, this doesn't belong here.
If you're not familiar with markdown, don't worry, it's pretty easy to learn just a way to document
things on GitHub.
Docker hub in this case, document what your application does.
Okay, so you'll notice a version two.
We'll talk about version two later.
We didn't discuss database integration, but we will be pushing an updated image of our great submission
API.
But before we move on I do want to talk about versioning with Docker.
So so far if we go to our great submission portal, you can see that our image that we pushed is tagged
latest.
We didn't actually tag it as latest ourselves.
But when you don't provide a tag that Docker assumes that this is the latest, most updated version
of your image.
So go into the great submission portal.
What I want to do is actually tag it using semantic versioning.
So we're actually going to give it a tag of 1.0.0.
Um, so why am I tagging it like this?
Uh, when you're tagging using semantic versioning, the first number indicates a breaking change in
the application, a very big change.
The second number means that you've added a significant change to your application, but it's still
backwards compatible.
It's still functions.
And the third number means a minor bug fix was applied or something.
So in this case, this is our first time creating an Dockerizing, this great submission portal.
So we're just going to start with 10.0.0.
Okay.
Then we're going to push that onto Docker Hub.
Docker push.
So now you can see we've got two tags 10.0.0 and latest.
But it doesn't make sense for latest to be pushed down below 10.0.0.
This one is the latest one.
So what we're going to do is rebuild this to be latest.
Well you don't actually have to write latest.
It'll just uh be set to that by default.
And then we push that
So then we've got Version 1.0.0, uh, of the great submission portal image.
And that version is also the latest image that we also pushed.
We're going to do the same thing for the great submission API.
So I'm going to build this to be great.
Submission API version 1.0.0.
Then I'm going to push that version of the image.
And I'm also going to build an image from all of this to be latest and push that onto Docker Hub.
Okay.
So now anybody should be able to pull this image from Docker Hub and create a container from it, which
is something we're going to do Momentarily.
So here they have access to our image.
They can pull the image using Docker pull in this case your username slash whatever you can.
Feel free to try to pull this image from Docker Hub into your local Docker cache, so delete it from
your Docker cache and feel free to pull it.
And whoever is pulling this image, they've got all this documentation at their disposal that will tell
them exactly how they need to create a container from this image successfully.
Okay, so here are there's some stuff on MongoDB.
Uh, version one of our image doesn't actually have database integration.
Version two will.
So don't worry about that right now.
But anyways, whoever is checking this out, they've been given differences between version two and
version one.
If they are running version one, they will know to just use this command to run their Docker container.
All right.
Now we're going to move to starter code number eight.