Safe Recipes - Step 1: Deploy a plain docker container on AWS
$ git clone [email protected]:philskaroulis/sf.rcp.aws-docker.git
$ cd sf.rcp.aws-docker
$ npm install
$ docker build -t sf.rcp.aws-docker .
$ docker images --filter reference=sf.rcp.aws-docker
$ docker run -p 80:8080 sf.rcp.aws-docker
$ export AWS_PROFILE=aws_profile
$ aws ecr create-repository --repository-name sf.rcp.aws-docker
{
"repository": {
"repositoryArn": "arn:aws:ecr:us-east-1:aws_account_id:repository/sf.rcp.aws-docker",
"registryId": "aws_account_id",
"repositoryName": "sf.rcp.aws-docker",
"repositoryUri": "aws_account_id.dkr.ecr.us-east-1.amazonaws.com/sf.rcp.aws-docker",
"createdAt": 1519420109.0
}
}
$ docker tag sf.rcp.aws-docker aws_account_id.dkr.ecr.us-east-1.amazonaws.com/sf.rcp.aws-docker
$ $(aws ecr get-login --no-include-email);
$ docker push aws_account_id.dkr.ecr.us-east-1.amazonaws.com/sf.rcp.aws-docker
$ aws ecr list-images --repository-name sf.rcp.aws-docker
{
"imageIds": [
{
"imageDigest": "sha256:ed0...",
"imageTag": "latest"
}
]
}
• Configure the security groups by adding HTTP/Anywhere
• Create a new private key (*.pem), download it & move it to ~/.ssh
$ mv /location/of/downloaded/pem/sfrcp.pem ~/.ssh
$ chmod 400 ~/.ssh/sfrcp.pem
$ ssh -i ~/.ssh/sfrcp.pem aws-user@aws_public_dns
$ sudo yum update -y
$ sudo yum install -y docker
$ sudo usermod -aG docker aws-user
$ sudo service docker start
$ sudo docker --version
Copy aws user's AWS Access Key ID & AWS Secret Access Key
$ aws configure
AWS Access Key ID [None]: aws_access_key_id
AWS Secret Access Key [None]: aws_secret_key_id
Default region name [None]: us-east-1
Default output format [None]: json
$ aws ecr get-login --no-include-email;
$ sudo docker login -u AWS -p eyJw... https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com
$ sudo docker pull aws_account_id.dkr.ecr.us-east-1.amazonaws.com/sf.rcp.aws-docker:latest
$ sudo docker run -p 80:8080 aws_account_id.dkr.ecr.us-east-1.amazonaws.com/sf.rcp.aws-docker:latest
http://aws_public_dns/
Woohoo!!!