- Created and maintained by: Bikash Debnath
-
Deploy ML
-
Docker
- Server (Daemon)
-
CLI (Client)
-
1. Check whether docker is installed
2. command docker run hello-world goes to Daemon(server) and pulls the hello-world image
3. From that image a container is then created
4. Docker file is used to create a Docker image
5. Let's see what's in Docker File
- Docker File
- Docker File Detals
RUN
COPY
EXPOSE
Now we need to convert it
into a Docker Image which is
an executable package
We can use Docker volume for
persistent data
Docker Compose can be used
to handle multiple containers
- Container
Once container is created
you can run commands inside the container for eg.
Docker Exec -it containerid bash
docker container ps -a command will give all container running or stopped
- Where to store these images?
So that it can be shared with others
and outside of local machines
(Amazon S3) repository is an option.
However a better option is Image Registry
-
Image Registry
- Amazon Elastic Container Registry (ECR)
(Benefit of managing security using Amazon IAM, plus durability and scalability.
- Math behind ML Concepts
- Statistics Required for ML
- Host application (Amazon Elastic Compute Cloud EC2)
- Amazon Elastic Beanstalk makes provisioning and configuration easier to deploy apps to Amazon EC2. Beanstalk service is used for deploying and scaling web applications and services. It automatically helps with auto scaling, capacity provisioning and load balancing
- AWS Cloud9 takes cares of your development environement, Python, Java, PHP etc are all installed
-
Docker Cloud9
& CLI
- Docker Help (Management commands &
Commands)
Important Docker Commands
1. docker --help
2. docker info
3. docker images (it truncates the image name)
4. docker images --help
5. docker images --no-trunc
6. docker build --tag scare_me .
(. means current directory)
(How docker build knew which
Dockerfile to run)
7. docker run -ti scare_me bin/sh (This command (-ti) runs a container and creates a terminal within the container)
8. exit (exits the container)
9. Docker ps to check running containers
10. Docker Exec command can be used to run a command within the container
-
Docker with ECR
- A. Authorize cloud9 docker CLI with AWS CLI
B. Before I can push an image to AWS, I need
to create an ECR repository
- Container Management
A. Amazon ECS is used to run and
manage Containers
B. How can you run and manage
containers without worrying about
set up and configurations
C. AWS Fargate can help (it is a serverless compute engine and hosting option)
- Building Applications on AWS
A. API driven
B. Amazon API gateway
C. Serverless API hosting
D. AWS Lambda for serverless compute