
Leandro guides you through Docker and Amazon AWS deployment of Java and dot net applications, building a continuous integration pipeline and deploying on EC2 with Springboard.
Access and download the course code from the class repository via the search panel, clone the GitHub projects with git, and use the geek workbook with links to the repositories.
Attend open classes and sign up for the Portuguese version if you are Brazilian or prefer Portuguese. The instructor will repeat content in Portuguese to clarify for these students.
Explore Docker fundamentals in a quick review: what containers are, how they differ from virtual machines, and how Dockerfiles and Docker Compose work, reinforced by repetition.
Docker containers provide lightweight, isolated environments that share the host operating system and support portable, repeatable deployments via images on any host that has docker installed.
Discover the basics of a dockerfile, including from image, volumes, copy, expose, and entrypoint. Learn how initialization tasks like starting a database and configuring dependencies run when the container starts.
Docker compose automates starting multiple containers and enables automatic communication between an application and its database, using a compose file to define services, volumes, and environment variables.
Learn the basics of docker-compose.yml to orchestrate a full app stack, including Java and .NET services, a database, and a load balancer, with build context, environment variables, and port mappings.
Perform a quick Docker review explaining containers and their difference from virtual machines. It outlines preparing the development environment with Windows installation and Docker options for practical activities.
Set up the Docker development environment by downloading and installing on Windows, using Docker Toolbox or Docker Desktop, and installing Docker Compose as the course basis.
Install Docker Desktop on Windows 10 Pro, log in to Docker Hub, enable Hyper-V and virtualization in BIOS, choose Windows containers, verify Docker is running with Docker info.
Install docker toolbox on Windows home edition to replace Hyper-V. Learn to download, install, authorize the ACP server, and verify Docker runs and can pull images.
Learn how to install Docker on Linux by verifying installation, updating package indexes, installing docker.io, starting Docker, and validating the Docker version and basic client/server status.
Follow the official documentation to install Docker Compose on Linux, download the latest version, grant execute permissions, run with sudo, and verify the installation.
Set up the local development environment on Windows and Linux, dockerize a Java Spring app with a Dockerfile and Docker Compose, and launch for automatic deployment readiness.
Learn to dockerize a Java application by demystifying Docker with practical steps, covering Docker files, Docker Compose, images, volumes, ports, logs, and command-line use, plus continuous integration with Travis CI.
practice dockerizing a Java application with Spring Boot, test with Postman, and explore API authentication and Swagger documentation while connecting to a local MySQL database.
Create a dockerfile based on openjdk 11, build with mvn clean package to produce a jar, copy it into a container, expose port 8080, and set the entrypoint.
Define and connect docker compose services and networks, configure a MySQL database container with environment variables, and link the app service to expose ports for host access.
Start and troubleshoot a dockerized Java and .NET apps by configuring docker compose, building the artifact, fixing the MySQL database connection to ensure the application runs and logs show success.
Start the application and test with Postman, authenticate requests, verify the database connection and migrations, review created tables, and preview pushing Docker images to Docker Hub for deployment.
Explore Docker Hub, locate official images like Java 12, and learn how to create and log in to a new Docker Hub account, including email verification.
Push docker images to Docker Hub by applying the correct prefix and tags, authenticate, and verify the updated image before future automated deployments.
Trigger continuous integration on git commits using Travis CI to build and publish Docker images to Docker Hub, with future deployment to AWS in upcoming sections.
Dockerize a Java application with Spring Boot, configure Docker Compose, manage images, logs, volumes, ports, and networks, and prepare deployment to Amazon aws cloud via aws cli.
Explore the Amazon AWS free tier, monitor billing, and learn to use services like S3, Elastic Container Registry, and databases within a one-year window.
Create an AWS account by providing email, password, and account name, verify your card via SMS, sign in to the console, and access services after activation (24 hours).
Create an IAM user to manage our ECR containers with programmatic access, attach policies, generate and download the access key and secret access key, and securely store the credentials.
Complete the AWS CLI installation and configure credentials on Windows, using your access key and secret key. Prepare to run push commands to upload docket images to AWS.
Create an EC2 instance in the AWS console by selecting an instance type and default VPC subnet, review the security group, and generate a key pair for SSH access.
Learn to access an Amazon EC2 instance via SSH using PuTTY, including converting the private key from PEM to PPK, configuring a session, and connecting securely.
Learn how to install Docker on an EC2 instance, start the Docker service, grant user permissions, and run the hello world container to verify the setup.
Create a MySQL (or MariaDB) RDS database for your application, configure VPC, security groups, public accessibility, set credentials, and connect via a SQL client, preparing integration with the app.
Integrate the application with the Amazon RDS database, configure properties and Flyway migrations, run and verify the app, and build a Docker image to push to Docker Hub.
Run your application inside Docker using Docker Compose, verify startup with container logs and the browser, then commit changes, push the image to AWS, and monitor deployment with Travis CI.
Pull the Docker image from Docker Hub, run the container on an Amazon EC2 instance, verify startup with Docker logs, and configure security groups for inbound and outbound access.
Explore aws basics by creating an account, managing billing, deploying a docker hub app to ec2, and connecting a MySQL RDX database with tests.
Deploy your application to an Amazon ECS cluster by creating a docker image repository, pushing images to Amazon, and configuring a cluster task definition and service.
Create an Amazon Elastic Container Registry repository for Docker images, then push Docker images to AWS using the generated push commands demonstrated in the lecture.
Push docker images to Amazon ECR by tagging the local image and pushing to the AWS repository, then confirm the push was successful in AWS.
Apply docker-driven clustering to scale applications quickly by deploying templates that start new services as demand rises. Leverage orchestration, high availability, and load balancing to manage nodes reliably.
Explore how Amazon ECS coordinates clusters, docker agents, and containers via task definitions and services, using Docker Hub or Amazon echo images, with the orchestrator starting, monitoring, and scaling tasks.
Create an ECS cluster on AWS, configure a Docker-enabled Linux instance, set VPC, subnets, and security group rules, and monitor the CloudFormation stack and instance status.
Create a task definition for deploying a Java app on AWS with a Java container image, set port mappings to 80, and leave other settings unchanged.
Create and deploy a service from a defined test, configure cluster settings, run container instances, and validate the API with Swagger and Postman against the new endpoint.
Learn to push docker images to a repository and deploy to an Amazon ECS cluster by creating clusters, task definitions, and services, and prepare Dockerfile and docker-compose configurations.
Learn to dockerize a .NET application with ASP.NET Core, customize the MySQL image, and deploy to Docker Hub and Amazon AWS via a continuous deployment pipeline.
Explore how to dockerize a .NET application for AWS, using Visual Studio, Postman collections, and token-based authentication to test the API.
Add container orchestration to the application by enabling docker support for a .NET project, configuring a linux-based Dockerfile, building with dotnet build, and integrating Docker Compose for orchestration.
Adjust docker-compose to build a custom docker image, align app startup with the database, and configure Java and .NET services with proper environment and ports.
Create a MySQL docker image with a dockerfile, copy migrations into /home/database, and expose port 3306. Set an entrypoint to run migrations and seed data on startup.
Learn to run and test the app with docker compose and Visual Studio, configure migrations and database connection, start services, and verify login via browser and Postman.
Create a MySQL RDS database on AWS for a dot net application and prepare to adjust the connection properties of the app in the next class.
Adjust your app's database connection by updating the connection string in appsettings.json, switching from localhost to the deployed host, and run migrations to apply changes.
Create an ECR repository for the dot net docker image and push to Docker Hub and AWS, learning tagging, authentication, and pushing images.
Learn to automatically build and push a Docker image to Docker Hub with Travis CI, including setting docker username and password environment variables for login.
Integrate Travis CI with Amazon ECR, configure AWS credentials as environment variables, and build and push Docker images for automated deployment.
Learn to dockerize a .NET app with ASP.NET Core, configure an AWS deployment pipeline with task definitions and permissions, and implement continuous deployment and integration using Travis CI.
Implement continuous integration and deployment for a dot net app on amazon aws by configuring destinations and services, adjusting user permissions, and building the pipeline with travis and hub.
Create an ECS cluster for .NET on Linux with networking, configure VPC and security groups, and launch a single instance; verify access via public DNS for next deployment steps.
Create a task definition for your cluster, name it accordingly, configure memory and cpu limits, add a java and dotnet container, map port 80, and prepare for service deployment.
Create a service, deploy the application, and test it end-to-end by validating the DNS, sending authentication requests via Postman, and confirming user registration.
Grant full IAM permissions to the Travis CI user on the cluster by attaching existing policies, enabling the deployment and continuous integration workflow.
Explore continuous deployment for dockerized java and dotnet apps to Amazon ECS with Travis CI. Configure environment variables, AWS CLI deployment steps, and use X deploy to simplify deployments.
Configure a single-task ECS deployment with minimum healthy percent 0 and maximum percent 100 to allow downtime, and build a CI/CD pipeline using Travis CI, Docker, and AWS ECS.
Implement continuous integration and continuous deployment by setting up a commit-to-deployment pipeline using the ex deploy framework on an Amazon instance, testing dot net applications and services.
Review the course materials and expand your knowledge by exploring resources like Spring Source, InfoQ, Docker Hub, GitHub, Travis CI, YouTube, and Stack Overflow to accelerate learning.
**** Understand everything you need to know to get started on the right foot with Docker and Amazon AWS! *****
TIP FOR BRAZILIANS: Use a pesquisa da Udemy e se inscreva na versão em português do curso
Do you need to know and make the most of all the power that Docker and Amazon AWS can give?
Do you want to take advantage of the power, lightness, and portability of containers and learn how to deploy them in production?
Do you need to put all the concepts of continuous integration into practice?
Regardless of your experience with Docker's use on Amazon Web Services (AWS), this course puts you in direct contact with all your main concepts. We learn how to get the most out of containers Docker, Dockerfiles, Docker Registries (Docker Hub and Elastic Container Registry (ECR) from AWS), and container management by the Elastic Container Service (ECS).
Initially, we will do a brief review of what Docker is and what Docker Compose is and how to install them on your machine, be it Linux or Windows. Then we will integrate Docker into a Java application with Spring Boot, exploring Docker on AWS at a high level. We will learn how each of the main "pieces" works separately, bringing together all the essential parts of a Docker infrastructure in a Linux instance based on the Amazon Elastic Compute Cloud (EC2), including installation, Dockerfiles, Docker Images and Docker Hub. Next, we'll learn how to create clustered environments with Amazon ECS.
At this point, we will understand how all moving parts can be brought together in a real, publicly accessible deployment. Throughout the course, we will gradually add support for Continuous Integration. We will start by automating simple tasks that will gradually evolve into a Continuous Integration pipeline involving Github, Travis CI, and an ECS Cluster on Amazon AWS. It will be incredible you commit the code, push to Github, Travis CI builds the Docker Images, and deploy it on Amazon "Automagically."
In addition to the Spring Boot application in the last sections of the course, we will Dockerize an ASP.NET Core application making it able to perform this type of task in more than one technology/language. By the end of this course, you will have learned fundamental knowledge about Continuous Integration and how to use Docker on AWS.
So don't waste any more time going to classes!