WEBVTT

00:00.110 --> 00:09.440
What I want to do before we finalize this is push both of these image on to Docker Hub.

00:10.100 --> 00:11.210
All right.

00:11.750 --> 00:14.000
So here I'm going to say Docker.

00:15.530 --> 00:18.410
We know the image name is RC 087.

00:18.410 --> 00:21.470
Well in this case your username slash some name.

00:21.470 --> 00:27.410
So I'm going to say docker push R slim 087 slash.

00:27.830 --> 00:32.060
Great submission portal whatever it is that you named the image.

00:32.660 --> 00:37.520
And we're going to push that onto Docker Hub.

00:39.470 --> 00:41.390
Make sure you specify your username.

00:41.420 --> 00:44.570
Otherwise it's not going to push to the correct repo.

00:45.140 --> 00:58.400
And then I'm going to push Docker push R slim 087 slash uh grade submission API

01:07.700 --> 01:10.430
Let me put this on one end.

01:12.200 --> 01:15.050
Let me put this on the other end.

01:16.370 --> 01:17.630
All right.

01:17.900 --> 01:19.340
Let's go to Docker Hub.

01:19.370 --> 01:21.890
Go to your own Docker hub.

01:21.920 --> 01:23.060
Okay.

01:23.390 --> 01:24.740
Repositories.

01:24.740 --> 01:32.660
You should have two repositories now one great submission API, one great submission portal.

01:32.960 --> 01:34.670
What I want you to do.

01:34.700 --> 01:35.630
You know what?

01:35.660 --> 01:37.820
Putting those together was a bad idea.

01:38.900 --> 01:41.990
What I want you to do is for the Great Submission portal.

01:42.230 --> 01:45.950
Click to edit the description.

01:45.980 --> 01:51.890
Copy over the Readme for the Great Submission portal into your repo.

01:51.920 --> 01:59.990
Okay, once you do that and submit it, the Readme describes how this application is used, what was

01:59.990 --> 02:05.870
done to build the image, and the requirements that are needed to actually set this application up successfully.

02:05.870 --> 02:14.290
So creating a container from this app requires a docker and the Great submission API to be running on

02:14.290 --> 02:16.570
the same Docker network.

02:16.630 --> 02:17.440
Okay.

02:17.710 --> 02:25.210
Uh, then, uh, just feel free to copy this into the description up on top.

02:25.840 --> 02:29.380
Do the same thing for the great Submission API.

02:29.410 --> 02:32.140
Copy over the Readme for it over here.

02:32.140 --> 02:36.520
You'll notice that, um, it mentions a version two.

02:36.550 --> 02:39.100
We'll talk about versioning later.

02:39.250 --> 02:43.390
And I seem to have an edit and an error in my markdown.

02:43.390 --> 02:46.480
I'll probably correct it by the time you're watching this video.

02:46.750 --> 02:49.360
Um, this doesn't belong here.

02:50.770 --> 02:56.860
If you're not familiar with markdown, don't worry, it's pretty easy to learn just a way to document

02:56.860 --> 02:58.630
things on GitHub.

02:58.630 --> 03:04.000
Docker hub in this case, document what your application does.

03:04.120 --> 03:06.430
Okay, so you'll notice a version two.

03:06.460 --> 03:07.900
We'll talk about version two later.

03:07.900 --> 03:14.320
We didn't discuss database integration, but we will be pushing an updated image of our great submission

03:14.350 --> 03:15.550
API.

03:15.700 --> 03:22.360
But before we move on I do want to talk about versioning with Docker.

03:22.540 --> 03:31.840
So so far if we go to our great submission portal, you can see that our image that we pushed is tagged

03:31.840 --> 03:32.740
latest.

03:32.770 --> 03:35.770
We didn't actually tag it as latest ourselves.

03:35.770 --> 03:41.920
But when you don't provide a tag that Docker assumes that this is the latest, most updated version

03:41.920 --> 03:43.150
of your image.

03:43.150 --> 03:45.280
So go into the great submission portal.

03:45.280 --> 03:51.310
What I want to do is actually tag it using semantic versioning.

03:52.600 --> 04:00.490
So we're actually going to give it a tag of 1.0.0.

04:01.630 --> 04:04.780
Um, so why am I tagging it like this?

04:05.110 --> 04:11.770
Uh, when you're tagging using semantic versioning, the first number indicates a breaking change in

04:11.770 --> 04:13.570
the application, a very big change.

04:13.570 --> 04:20.140
The second number means that you've added a significant change to your application, but it's still

04:20.140 --> 04:21.280
backwards compatible.

04:21.280 --> 04:22.630
It's still functions.

04:22.630 --> 04:26.710
And the third number means a minor bug fix was applied or something.

04:26.710 --> 04:33.370
So in this case, this is our first time creating an Dockerizing, this great submission portal.

04:33.370 --> 04:36.520
So we're just going to start with 10.0.0.

04:36.910 --> 04:37.720
Okay.

04:37.960 --> 04:42.610
Then we're going to push that onto Docker Hub.

04:44.080 --> 04:45.580
Docker push.

04:51.280 --> 04:58.360
So now you can see we've got two tags 10.0.0 and latest.

04:58.360 --> 05:03.730
But it doesn't make sense for latest to be pushed down below 10.0.0.

05:03.760 --> 05:05.980
This one is the latest one.

05:05.980 --> 05:12.580
So what we're going to do is rebuild this to be latest.

05:12.580 --> 05:15.070
Well you don't actually have to write latest.

05:15.070 --> 05:20.080
It'll just uh be set to that by default.

05:20.080 --> 05:22.150
And then we push that

05:27.760 --> 05:36.910
So then we've got Version 1.0.0, uh, of the great submission portal image.

05:36.910 --> 05:41.710
And that version is also the latest image that we also pushed.

05:41.860 --> 05:45.850
We're going to do the same thing for the great submission API.

05:45.880 --> 05:51.400
So I'm going to build this to be great.

05:51.400 --> 05:55.360
Submission API version 1.0.0.

05:57.190 --> 06:01.000
Then I'm going to push that version of the image.

06:07.630 --> 06:18.160
And I'm also going to build an image from all of this to be latest and push that onto Docker Hub.

06:23.410 --> 06:23.830
Okay.

06:23.830 --> 06:34.450
So now anybody should be able to pull this image from Docker Hub and create a container from it, which

06:34.450 --> 06:36.870
is something we're going to do Momentarily.

06:37.050 --> 06:40.620
So here they have access to our image.

06:40.620 --> 06:47.430
They can pull the image using Docker pull in this case your username slash whatever you can.

06:47.430 --> 06:53.460
Feel free to try to pull this image from Docker Hub into your local Docker cache, so delete it from

06:53.460 --> 06:56.580
your Docker cache and feel free to pull it.

06:56.580 --> 07:03.540
And whoever is pulling this image, they've got all this documentation at their disposal that will tell

07:03.540 --> 07:09.120
them exactly how they need to create a container from this image successfully.

07:09.240 --> 07:11.640
Okay, so here are there's some stuff on MongoDB.

07:12.450 --> 07:17.280
Uh, version one of our image doesn't actually have database integration.

07:17.310 --> 07:19.080
Version two will.

07:19.080 --> 07:21.810
So don't worry about that right now.

07:21.810 --> 07:29.790
But anyways, whoever is checking this out, they've been given differences between version two and

07:29.790 --> 07:30.390
version one.

07:30.390 --> 07:36.840
If they are running version one, they will know to just use this command to run their Docker container.

07:37.500 --> 07:38.790
All right.

07:38.820 --> 07:42.870
Now we're going to move to starter code number eight.
