0% found this document useful (0 votes)
14 views

Docker

The document provides instructions for deploying a Docker application on AWS using ECS and ECR. It covers setting up AWS CLI, creating ECR repositories, building and pushing Docker images to ECR, defining an ECS task, and deploying the stack on ECS.

Uploaded by

Thuý Thanh
Copyright
© © All Rights Reserved
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Docker

The document provides instructions for deploying a Docker application on AWS using ECS and ECR. It covers setting up AWS CLI, creating ECR repositories, building and pushing Docker images to ECR, defining an ECS task, and deploying the stack on ECS.

Uploaded by

Thuý Thanh
Copyright
© © All Rights Reserved
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 11

docker version:

docker pull mysql:

docker ps:

docker images:

docker run mysql:

docker run -e MYSQL_ROOT_PASSWORD=thuy1234567 mysql

docker run -p 3308:3306 -e MYSQL_ROOT_PASSWORD=thuy1234567


mysql

docker run -p 3308:3306 -e MYSQL_ROOT_PASSWORD=thuy1234567


mysql

docker start 140

docker rm 140

docker stop 140

docker rmi mysql

docker rmi -f mysql

docker rm 140e08c7c37b

docker ps -a

docker exec -it 11636d9600a7 bash

docekr logs 11636d9600a7


cd "C:\ga\Emne Cloud Container\Docker undervisning"

dir

cd .\SimpleImage\

docker build --help

docker build .

cat .\Dockerfile\

docker tag a98ed4c401df mysql-yngve

docker ps -a^C

docker build . -t mysql_yngve

docker run -p 3333:3306 --name my_db -d mysql_yngve

docker rm -f $(docker ps -a -q)

cd..

mkdir

pwd

cd .\GA\

docker build . -t ga_db

docker exec -it ID bash


docker hub

-Phai dung dung file de build

docker build . -t thanhthuy1502/product-db

docker login

docker push thanhthuy1502/product-db

docker run -p 8888:3306 --name product -d thanhthuy1502/product-db

docker tag productapi-productapi thanhthuy1502/undervisning-api

docker push thanhthuy1502/undervisning-api

AWS

đứng tại file AWS -> docker-compose up -d -> test thử trên
webserver(http://localhost/blogg-api/Users) - > docker compose down

Set up

lên ứng dụng AWS ->EC2 ->Instance - > Launch instance -> Create Name
-> Ubuntu -> 64-bit(x86) ->t3.micro -> Create new key pair -> RSA -
>Pem-> create -> Network Setting ->Create security group -> choice all 3
options -> Launch.

Stand at the location file AWS-> ls->Login( icacls.exe .\ga-studentblogg-


key.pem /reset OR icacls .\ga-studentblogg-key.pem /reset->
icacls.exe .\ga-studentblogg-key.pem /grant:r "$($env:username):(r)"o -
> icacls.exe .\ga-studentblogg-key.pem /inheritance:r -> Go back to
AWS, choose instance -> Choose the Instance was make file.pem ->
copy public IPv4 address(ex: 16.171.166.254) scp -i .\ga-studentblogg-
key.pem .\compose.yml [email protected] : -> Type in Powersell
ssh -i .\ga-studentblogg-key.pem [email protected] -> Screen
appear like that ubuntu@ip-172-31-46-43:~$ -> ls ->pwd -> sudo apt
update -> sudo apt upgrade ->Y->Ok ->sudo apt install docker->sudo apt
install docker-compose -> sudo docker --version -> exit

Deploy docker-compose

scp -i .\ga-studentblogg-key.pem .\compose.yml


[email protected]: -> ssh -i .\ga-studentblogg-key.pem
[email protected] -> ls -> sudo docker-compose up -d -> sudo
docker ps -> sudo docker-compose down -> exit

-If you want to check web on URL, click Public IPv4 DNS, change https to
http after that type more /blogg-api(containername-api)/Users

-If you want to check on Mysql. Go to Instance, choose the instance are
running. Go down choose security, Security groups, Edit inbound rules,
Add rule, Type 3306, select 0.0.0.0/0, AnywhereIPV4, Save Rules. Copy
Public IPv4 address and past in hostname at MSQL. Port is 3306.

AWS Command Line Interface


download windown bit64 -> install it

IAM ->Users ->Creat User-> Input User name -> choose provide user ->I
want to create an IAM user->Custom password-> type password-> user
must create a new password -> next-> Add user group ->choose group
or create -> nhan vao ten group to see info->next

*If choose create group, on police permission search

Access Key
Users -> choice Users name -> Sercurity credentials -> Create access
key*2 ->choose CLI -> understand -> set description tag -> create ->
retrieve access key and use that key to aws configure(powersell)

aws --version: check the version -> ls -force ->cd .\.aws\ -> cat .\
credentials

aws --version -> ls -force ->cd .\.aws\


ECR

Repositories -> create repositories ->private ->

*create repository

login to repository

create
aws ecr create-repository --repository-name ga-studblogg-api

aws ecr
create-repository --repository-name ga-studblogg-db

aws ecr
create-repository --repository-name ga-studblogg-web
// check on the aws webserver

go to docker hub

keo docker hub to pc

-docker pull thanhthuy1502/undervisning-api:v1

or

- docker tag yngvemag/undervisning-api:v1 730335426233.dkr.ecr.eu-


north-1.amazonaws.com/ga-studblogg-api:v1

- docker tag yngvemag/undervisning-db:v1 730335426233.dkr.ecr.eu-


north-1.amazonaws.com/ga-studblogg-db:v1

- docker tag yngvemag/undervisning-server:v1


730335426233.dkr.ecr.eu-north-1.amazonaws.com/ga-studblogg-
server:v1

docker images
-docker push 730335426233.dkr.ecr.eu-north-1.amazonaws.com/ga-
studblogg-api:v1
ECS

Cluster -> create cluster -> input cluster name -> choose

AWS Fargate (serverless) -> create -> choose cluse created

Task definitions ->Create new -> input name for task definition family->
Infrastructure-> choose AWS

-> Container:

api

Name: gablogg-undervisning-api
ImagesURL:api

port: 80 , portname: gablogg-api-tcp-80, , app: HTTP

db

Name: gablogg-undervisning-db

ImagesURL:db

port: 3306, portname: gablogg-db-tcp-3306, app: None

Web

Name: gablogg-undervisning-web

ImagesURL:web

port: 81, portname: gablogg-web-tcp-81, app: HTTP


input name, Copy URI put to images URL
Add Enviroment variables

choose use logs collection

kiểm tra docker compose up,


kiểm tra dokcer ps xem thử tất cả các container có hoạt động hay
không]
docker exec -it (id -db-2 kí tưh đầu) bash
ls: đi tới container
mysql -u ga-app -p
enter password
show databases;
exit
docker logs của api
check trên nettleser hoặc là curl
vd curl: curl http://localhost:8080/api/v1/hello or
curl http://localhost:8080/api/v1/Users

check server
docker exec -it (container id of server)

You might also like