-
Урок 1.
00:03:44
Why Use Docker?
-
Урок 2.
00:02:54
What is Docker?
-
Урок 3.
00:01:58
Docker for Mac/Windows
-
Урок 4.
00:04:46
Installing Docker on MacOS
-
Урок 5.
00:02:04
Installing Docker for Windows Professional with HyperV
-
Урок 6.
00:00:41
More Windows Professional Setup with HyperV
-
Урок 7.
00:01:10
One Last Piece of Windows Professional Setup with HyperV
-
Урок 8.
00:05:04
Using the Docker Client
-
Урок 9.
00:08:31
But Really...What's a Container?
-
Урок 10.
00:02:45
How's Docker Running on Your Computer?
-
Урок 11.
00:01:55
Docker Run in Detail
-
Урок 12.
00:05:13
Overriding Default Commands
-
Урок 13.
00:04:10
Listing Running Containers
-
Урок 14.
00:05:17
Container Lifecycle
-
Урок 15.
00:03:44
Restarting Stopped Containers
-
Урок 16.
00:01:40
Removing Stopped Containers
-
Урок 17.
00:02:34
Retrieving Log Outputs
-
Урок 18.
00:05:22
Stopping Containers
-
Урок 19.
00:04:17
Multi-Command Containers
-
Урок 20.
00:02:54
Executing Commands in Running Containers
-
Урок 21.
00:04:36
The Purpose of the IT Flag
-
Урок 22.
00:04:07
Getting a Command Prompt in a Container
-
Урок 23.
00:02:14
Starting with a Shell
-
Урок 24.
00:03:10
Container Isolation
-
Урок 25.
00:02:37
Creating Docker Images
-
Урок 26.
00:04:52
Building a Dockerfile
-
Урок 27.
00:02:42
Dockerfile Teardown
-
Урок 28.
00:05:41
What's a Base Image?
-
Урок 29.
00:11:10
The Build Process in Detail
-
Урок 30.
00:03:25
A Brief Recap
-
Урок 31.
00:07:03
Rebuilds with Cache
-
Урок 32.
00:04:27
Tagging an Image
-
Урок 33.
00:05:01
Manual Image Generation with Docker Commit
-
Урок 34.
00:02:36
Project Outline
-
Урок 35.
00:05:04
Node Server Setup
-
Урок 36.
00:05:13
A Few Planned Errors
-
Урок 37.
00:07:51
Base Image Issues
-
Урок 38.
00:03:19
A Few Missing Files
-
Урок 39.
00:04:51
Copying Build Files
-
Урок 40.
00:07:27
Container Port Mapping
-
Урок 41.
00:07:53
Specifying a Working Directory
-
Урок 42.
00:04:17
Unnecessary Rebuilds
-
Урок 43.
00:04:59
Minimizing Cache Busting and Rebuilds
-
Урок 44.
00:03:58
App Overview
-
Урок 45.
00:06:44
App Server Starter Code
-
Урок 46.
00:03:13
Assembling a Dockerfile
-
Урок 47.
00:05:33
Introducing Docker Compose
-
Урок 48.
00:06:03
Docker Compose Files
-
Урок 49.
00:05:01
Networking with Docker Compose
-
Урок 50.
00:04:39
Docker Compose Commands
-
Урок 51.
00:02:35
Stopping Docker Compose Containers
-
Урок 52.
00:02:54
Container Maintenance with Compose
-
Урок 53.
00:09:22
Automatic Container Restarts
-
Урок 54.
00:02:22
Container Status with Docker Compose
-
Урок 55.
00:01:29
Development Workflow
-
Урок 56.
00:06:33
Flow Specifics
-
Урок 57.
00:01:51
Docker's Purpose
-
Урок 58.
00:03:26
Project Generation
-
Урок 59.
00:01:45
More on Project Generation
-
Урок 60.
00:05:10
Necessary Commands
-
Урок 61.
00:03:43
Creating the Dev Dockerfile
-
Урок 62.
00:01:30
Duplicating Dependencies
-
Урок 63.
00:02:51
Starting the Container
-
Урок 64.
00:06:54
Docker Volumes
-
Урок 65.
00:04:51
Bookmarking Volumes
-
Урок 66.
00:04:23
Shorthand with Docker Compose
-
Урок 67.
00:02:03
Overriding Dockerfile Selection
-
Урок 68.
00:02:52
Do We Need Copy?
-
Урок 69.
00:03:39
Executing Tests
-
Урок 70.
00:04:55
Live Updating Tests
-
Урок 71.
00:05:46
Docker Compose for Running Tests
-
Урок 72.
00:08:31
Shortcomings on Testing
-
Урок 73.
00:03:08
Need for Nginx
-
Урок 74.
00:06:55
Multi-Step Docker Builds
-
Урок 75.
00:07:06
Implementing Multi-Step Builds
-
Урок 76.
00:02:28
Running Nginx
-
Урок 77.
00:03:05
Services Overview
-
Урок 78.
00:03:58
Github Setup
-
Урок 79.
00:04:18
Travis CI Setup
-
Урок 80.
00:07:40
Travis YML File Configuration
-
Урок 81.
00:04:15
A Touch More Travis Setup
-
Урок 82.
00:03:31
Automatic Build Creation
-
Урок 83.
00:04:11
AWS Elastic Beanstalk
-
Урок 84.
00:02:26
More on Elastic Beanstalk
-
Урок 85.
00:08:47
Travis Config for Deployment
-
Урок 86.
00:07:18
Automated Deployments
-
Урок 87.
00:03:57
Exposing Ports Through the Dockerfile
-
Урок 88.
00:04:00
Workflow With Github
-
Урок 89.
00:02:02
Redeploy on Pull Request Merge
-
Урок 90.
00:02:04
Deployment Wrapup
-
Урок 91.
00:03:03
Single Container Deployment Issues
-
Урок 92.
00:04:31
Application Overview
-
Урок 93.
00:05:12
Application Architecture
-
Урок 94.
00:11:42
Worker Process Setup
-
Урок 95.
00:05:20
Express API Setup
-
Урок 96.
00:07:37
Connecting to Postgres
-
Урок 97.
00:12:21
More Express API Setup
-
Урок 98.
00:01:52
Generating the React App
-
Урок 99.
00:06:32
Fetching Data in the React App
-
Урок 100.
00:08:30
Rendering Logic in the App
-
Урок 101.
00:00:27
Exporting the Fib Class
-
Урок 102.
00:04:37
Routing in the React App
-
Урок 103.
00:02:40
Checkpoint Catchup
-
Урок 104.
00:06:42
Dockerizing a React App - Again!
-
Урок 105.
00:03:48
Dockerizing Generic Node Apps
-
Урок 106.
00:07:06
Adding Postgres as a Service
-
Урок 107.
00:06:18
Docker-compose Config
-
Урок 108.
00:10:21
Environment Variables with Docker Compose
-
Урок 109.
00:03:43
The Worker and Client Services
-
Урок 110.
00:09:42
Nginx Path Routing
-
Урок 111.
00:11:13
Routing with Nginx
-
Урок 112.
00:05:39
Building a Custom Nginx Image
-
Урок 113.
00:01:51
Starting Up Docker Compose
-
Урок 114.
00:03:23
Troubleshooting Startup Bugs
-
Урок 115.
00:03:52
Opening Websocket Connections
-
Урок 116.
00:05:40
Production Multi-Container Deployments
-
Урок 117.
00:06:06
Production Dockerfiles
-
Урок 118.
00:05:24
Multiple Nginx Instances
-
Урок 119.
00:04:54
Altering Nginx's Listen Port
-
Урок 120.
00:01:12
Cleaning Up Tests
-
Урок 121.
00:04:09
Github and Travis CI Setup
-
Урок 122.
00:08:46
Travis Configuration Setup
-
Урок 123.
00:07:35
Pushing Images to Docker Hub
-
Урок 124.
00:01:50
Successful Image Building
-
Урок 125.
00:04:31
Multi-Container Definition Files
-
Урок 126.
00:03:10
Finding Docs on Container Definitions
-
Урок 127.
00:05:46
Adding Container Definitions to DockerRun
-
Урок 128.
00:05:19
More Container Definitions
-
Урок 129.
00:07:48
Forming Container Links
-
Урок 130.
00:03:31
Creating the EB Environment
-
Урок 131.
00:10:45
Managed Data Service Providers
-
Урок 132.
00:09:22
Overview of AWS VPC's and Security Groups
-
Урок 133.
00:06:32
RDS Database Creation
-
Урок 134.
00:04:12
ElastiCache Redis Creation
-
Урок 135.
00:04:19
Creating a Custom Security Group
-
Урок 136.
00:05:00
Applying Security Groups to Resources
-
Урок 137.
00:07:56
Setting Environment Variables
-
Урок 138.
00:05:13
IAM Keys for Deployment
-
Урок 139.
00:03:21
Travis Deploy Script
-
Урок 140.
00:04:11
Container Memory Allocations
-
Урок 141.
00:02:57
Verifying Deployment
-
Урок 142.
00:01:30
A Quick App Change
-
Урок 143.
00:00:58
Making Changes
-
Урок 144.
00:05:06
Cleaning Up AWS Resources
-
Урок 145.
00:08:07
The Why's and What's of Kubernetes
-
Урок 146.
00:05:48
Kubernetes in Development and Production
-
Урок 147.
00:05:37
Minikube Setup on MacOS
-
Урок 148.
00:07:38
Mapping Existing Knowledge
-
Урок 149.
00:06:53
Adding Configuration Files
-
Урок 150.
00:06:56
Object Types and API Versions
-
Урок 151.
00:09:20
Running Containers in Pods
-
Урок 152.
00:13:38
Service Config Files in Depth
-
Урок 153.
00:10:25
Connecting to Running Containers
-
Урок 154.
00:13:03
The Entire Deployment Flow
-
Урок 155.
00:13:37
Imperative vs Declarative Deployments
-
Урок 156.
00:06:11
Updating Existing Objects
-
Урок 157.
00:07:05
Declarative Updates in Action
-
Урок 158.
00:02:56
Limitations in Config Updates
-
Урок 159.
00:06:04
Running Containers with Deployments
-
Урок 160.
00:03:19
Deployment Configuration Files
-
Урок 161.
00:04:24
Walking Through the Deployment Config
-
Урок 162.
00:06:23
Applying a Deployment
-
Урок 163.
00:05:20
Why Use Services?
-
Урок 164.
00:06:32
Scaling and Changing Deployments
-
Урок 165.
00:03:58
Updating Deployment Images
-
Урок 166.
00:03:00
Rebuilding the Client Image
-
Урок 167.
00:12:25
Triggering Deployment Updates
-
Урок 168.
00:07:25
Imperatively Updating a Deployment's Image
-
Урок 169.
00:05:38
Multiple Docker Installations
-
Урок 170.
00:05:58
Reconfiguring Docker CLI
-
Урок 171.
00:05:06
Why Mess with Docker in the Node?
-
Урок 172.
00:05:14
The Path to Production
-
Урок 173.
00:04:37
A Quick Checkpoint
-
Урок 174.
00:05:31
Recreating the Deployment
-
Урок 175.
00:03:42
NodePort vs ClusterIP Services
-
Урок 176.
00:03:53
The ClusterIP Config
-
Урок 177.
00:04:19
Applying Multiple Files with Kubectl
-
Урок 178.
00:06:03
Express API Deployment Config
-
Урок 179.
00:03:09
Cluster IP for the Express API
-
Урок 180.
00:06:00
Combining Config Into Single Files
-
Урок 181.
00:04:37
The Worker Deployment
-
Урок 182.
00:04:52
Reapplying a Batch of Config Files
-
Урок 183.
00:07:27
Creating and Applying Redis Config
-
Урок 184.
00:06:15
Last Set of Boring Config!
-
Урок 185.
00:07:19
The Need for Volumes with Databases
-
Урок 186.
00:05:18
Kubernetes Volumes
-
Урок 187.
00:03:00
Volumes vs Persistent Volumes
-
Урок 188.
00:09:23
Persistent Volumes vs Persistent Volume Claims
-
Урок 189.
00:02:58
Claim Config Files
-
Урок 190.
00:03:32
Persistent Volume Access Modes
-
Урок 191.
00:07:43
Where Does Kubernetes Allocate Persistent Volumes?
-
Урок 192.
00:06:10
Designating a PVC in a Pod Template
-
Урок 193.
00:02:23
Applying a PVC
-
Урок 194.
00:04:10
Defining Environment Variables
-
Урок 195.
00:05:45
Adding Environment Variables to Config
-
Урок 196.
00:09:26
Creating an Encoded Secret
-
Урок 197.
00:05:54
Passing Secrets as Environment Variables
-
Урок 198.
00:02:18
Environment Variables as Strings
-
Урок 199.
00:04:15
Load Balancer Services
-
Урок 200.
00:03:33
A Quick Note on Ingresses
-
Урок 201.
00:01:38
One Other Quick Note!
-
Урок 202.
00:05:18
Behind the Scenes of Ingress
-
Урок 203.
00:06:39
More Behind the Scenes of Ingress
-
Урок 204.
00:06:22
Setting up Ingress Locally with Minikube
-
Урок 205.
00:07:01
Creating the Ingress Configuration
-
Урок 206.
00:02:51
Testing Ingress Locally
-
Урок 207.
00:03:29
The Minikube Dashboard
-
Урок 208.
00:05:50
The Deployment Process
-
Урок 209.
00:04:54
Google Cloud vs AWS for Kubernetes
-
Урок 210.
00:04:00
Creating a Git Repo
-
Урок 211.
00:01:36
Linking the Github Repo to Travis
-
Урок 212.
00:02:00
Creating a Google Cloud Project
-
Урок 213.
00:02:12
Linking a Billing Account
-
Урок 214.
00:01:48
Kubernetes Engine Init
-
Урок 215.
00:04:48
Creating a Cluster with Google Cloud
-
Урок 216.
00:04:35
Kubernetes Dashboard on Google Cloud
-
Урок 217.
00:05:05
Travis Deployment Overview
-
Урок 218.
00:05:45
Installing the Google Cloud SDK
-
Урок 219.
00:05:30
Generating a Service Account
-
Урок 220.
00:09:18
Running Travis CLI in a Container
-
Урок 221.
00:07:55
Encrypting a Service Account File
-
Урок 222.
00:04:41
More Google Cloud CLI Config
-
Урок 223.
00:06:19
Running Tests with Travis
-
Урок 224.
00:03:50
Custom Deployment Providers
-
Урок 225.
00:08:34
Unique Deployment Images
-
Урок 226.
00:07:48
Unique Tags for Built Images
-
Урок 227.
00:07:52
Updating the Deployment Script
-
Урок 228.
00:05:35
Configuring the GCloud CLI on Cloud Console
-
Урок 229.
00:02:25
Creating a Secret on Google Cloud
-
Урок 230.
00:08:16
Helm Setup
-
Урок 231.
00:08:22
Kubernetes Security with RBAC
-
Урок 232.
00:05:09
Assigning Tiller a Service Account
-
Урок 233.
00:01:57
Ingress-Nginx with Helm
-
Урок 234.
00:03:49
The Result of Ingress-Nginx
-
Урок 235.
00:03:31
Finally - Deployment!
-
Урок 236.
00:00:46
Did I Really Type That?
-
Урок 237.
00:05:21
Verifying Deployment
-
Урок 238.
00:04:30
A Workflow for Changing in Prod
-
Урок 239.
00:01:02
Merging a PR for Deployment
-
Урок 240.
00:01:38
That's It! What's Next?
-
Урок 241.
00:05:36
HTTPS Setup Overview
-
Урок 242.
00:02:18
Domain Purchase
-
Урок 243.
00:03:31
Domain Name Setup
-
Урок 244.
00:01:58
Cert Manager Install
-
Урок 245.
00:05:59
How to Wire Up Cert Manager
-
Урок 246.
00:05:08
Issuer Config File
-
Урок 247.
00:05:19
Certificate Config File
-
Урок 248.
00:03:16
Deploying Changes
-
Урок 249.
00:03:55
Verifying the Certificate
-
Урок 250.
00:06:50
Ingress Config for HTTPS
-
Урок 251.
00:02:53
It Worked!
-
Урок 252.
00:03:55
Awkward Local Development
-
Урок 253.
00:02:00
Installing Skaffold
-
Урок 254.
00:06:44
The Skaffold Config File
-
Урок 255.
00:05:03
Live Sync Changes
-
Урок 256.
00:05:08
Automatic Shutdown
-
Урок 257.
00:05:30
Testing Live Sync with the API Server
It's already 22h 9m video on udemy :)
And now even after adding COPY ./ ./ command I cant create image for node app
I have such error:
> [3/3] RUN npm install:
#7 0.785 npm ERR! Tracker "idealTree" already exists
#7 0.787
#7 0.788 npm ERR! A complete log of this run can be found in:
#7 0.788 npm ERR! /root/.npm/_logs/2022-05-17T16_11_44_574Z-debug-0.log
Travis CI is a pain in the arse! But the more important I've got a relatively up to day course which in fact hasn't been updated.
There is no AWSElasticBeanstalkFullAccess any longer. Use AdministratorAccess-AWSElasticBeanstalk
If you're experiencing the following error
The request signature we calculated does not match the signature you provided. Check your key and signing method. (Aws::S3::Errors::SignatureDoesNotMatch)
You mustn't use secure: key. Write it as follows in the .travis.yml file:
access_key_id: $AWS_ACCESS_KEY
secret_access_key: $AWS_SECRET_KEY
MIND When you add your environment variables to Travis CI, there is an annotation you may overlook:
If your secret variable has special characters like &, escape them by adding \ in front of each special character. For example, ma&w!doc would be entered as ma&w!doc.
For example:
Secret access key: aaAXtldqugatcfiVMsSNq/jmmdZebbEy74tz4mAp
In my key is used a forward slash - I needed to escape it with a backslash:
AWS_SECRET_KEY aaAXtldqugatcfiVMsSNq\/jmmdZebbEy74tz4mAp
Stephen might think users will deal with the issues on their own - Yes, we do! However I spent an hour on those errors digging the Internet. Please, save our time Stephen!
I've forgotten to mention that Travis CI now is free to a certain extent. You're given 10000 points regardless of deployment failure or success you'll be charged for each try. Hopefully you won't spend your points on debugging.
https://github.com/StephenGrider/DockerCasts/issues/17
Well, I wonder why Stephen doesn't update changes in his courses.
It must be said Travis requires your banking card credentials.
Travis gives you 10000 points. Running one job costs you around 54 points or 80 points if it counts only those jobs which are passed. I don't know.
Travis assumes all your projects are relevant for an inspection. There is no need to add a project. The difference is if you created a Travis account, it imported all your GitHub's repos and then you create a new one. I had to wait for five minutes to get an update on Travis which is quite long. It will however react on those repos including .travis.yml file.
The main point of my message is you won't get exit code (0) in Travis. It's no longer relevant. Your tests will hang for 10 minutes than Travis will interrupt the process throwing an error.
If you want to get a proper behaviour, try this one
docker run -e CI=true npm run test -- --coverage
you pass an environment variable to the container so that npm knows you want to exit once it's done.
https://github.com/StephenGrider/DockerCasts/issues/16