Skip to content

Instantly share code, notes, and snippets.

View abhinavkorpal's full-sized avatar
🎯
Focusing

Abhinav korpal abhinavkorpal

🎯
Focusing
View GitHub Profile
@abhinavkorpal
abhinavkorpal / gist:c650adb50b15431627511a2d0fd4a33f
Last active April 1, 2017 07:46
Create AWS ELB, Launch Config, and Auto Scaling Group
aws elb create-load-balancer \
--load-balancer-name MyELB \
--listeners Protocol=TCP,LoadBalancerPort=80,InstanceProtocol=TCP,InstancePort=80 \
--subnets subnet-46e6506c subnet-57b8010f \
--scheme internet-facing \
--security-groups sg-aec570d4
aws autoscaling create-launch-configuration \
--launch-configuration-name MyLC \
--key-name virginia \
@abhinavkorpal
abhinavkorpal / gist:f75bffa85361c1d102ebe9bae0cb8b1d
Last active April 1, 2017 07:46
Userdata script to setup a basic web page with instance id and tag instance
#!/bin/bash
yum install httpd -y
/sbin/chkconfig --levels 235 httpd on
service httpd start
instanceId=$(curl http://169.254.169.254/latest/meta-data/instance-id)
region=$(curl http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | awk -F\" '{print $4}')
echo "<h1>$instanceId</h1>" > /var/www/html/index.html
aws ec2 create-tags --resources "$instanceId" --tags Key=Name,Value="PROD-$instanceId" --region "$region"
@abhinavkorpal
abhinavkorpal / gist:62820f4c14c7d5e208af9a8031e89e40
Last active April 1, 2017 07:45
AWS Lambda Function to Start an EC2 Instance
var AWS = require('aws-sdk');
exports.handler = function(event, context) {
var ec2 = new AWS.EC2({region: 'us-east-1'});
ec2.startInstances({InstanceIds : ['i-0114833f8ffc9151c'] },function (err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
context.done(err,data);
});
};
@abhinavkorpal
abhinavkorpal / gist:c280b90fb8076f6efa693cf2a7e12a45
Last active April 1, 2017 07:45
EC2 user data script to bootstrap instance with CloudWatch sample scripts
#!/bin/bash
yum install perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https -y
curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
@abhinavkorpal
abhinavkorpal / gist:20f1d58547ecc6d82d24cb2ca8e61274
Last active April 1, 2017 07:44
EC2 user data script to boostrap Windows instance with Python and AWS CLI
<powershell>
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
choco install python -y
(new-object net.webclient).DownloadFile('https://s3.amazonaws.com/aws-cli/AWSCLI64.msi','c:\AWSCLI64.msi')
msiexec.exe /i 'C:\AWSCLI64.msi' /qn
</powershell>
docker build -t <your name>/node . # -t is short for --tag, your name ~ is ~ Tag name, .(dot) is Build context
docker build -f Dockerfile -t abhinavkorpal/node .
docker run -d -p 8080:3000 abhinavkorpal/node
docker build -f node.dockerfile -t abhinavkorpal/node .
docker run -d --name my-mongodb mongo
docker run -d -p 3000:3000 --link my-mongodb:mongodb abhinavkorpal/node
docker exec (running container id) node dbSeeder.js ## For connecting to mongodb datatbase
docker network ls
docker network create --driver bridge isolated_network ## create ~ create custom network, bridge ~ use a bridge network, isolated_network ~ name of the custom network
docker network isolated_network
docker network inspect isolated_network
docker run -d --net=isolated_network --name nodeapp -p 3000:3000 abhinavkorpal/node ## net ~ run container in network, mongodb ~ link to this containe by name
docker-compose build ## build ~ build or rebuild services define in docker-compose.yml
docker-compose build mongo ## mongo ~ only build and rebuild mongo service
docker-compose up ## up ~ create and start the container
docker-compose upm --no-deps node ## no-deps ~ do not create services that node depends on, node ~ rebuild not images and stop, destroy and recreate only node
docker-compose down ## take all the container down(stop and remove)
docker-compose down --rmi all --volumes ## remove all volumes and images
cat /var/lib/docker/containers/(container_id)
docker inspect (container_id) | grep Pid
nsenter -m -u -n -p -i -t (Pid_number) /bin/bash ## -m ~ mount, -u ~ uts, -n ~ network, -p ~ process, -i ~ ipc, -t ~ target
ip a
docker-enter (container_id) ## for becoming container root
docker exec -it (container_id) /bin/bash ## for becoming container root