Skip to content

bringmeister/docker-awscli

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker awscli

An AWS CLI toolbox in container. See Dockerfile. This repo triggers auto-build and push images to dockerhub.com/u/xueshanf/awscli.

To check AWS cli version

docker run --rm  xueshanf/awscli aws --version
docker run --rm  xueshanf/awscli s3cmd --version 

Examples

Rebuild image. This will upgrade the package too:

core@n1 git clone https://github.com/xueshanf/docker-awscli.git
core@n1 docker build -t xueshanf/awscli:latest .

Ready-made tools:

core@n1 docker run --rm  xueshanf/awscli get-metadata help
Usage: get-metadata <argument>
ACCOUNT
HOSTNAME
INSTANCEID
PRIVATEIP
PUBLICIP
ROLE
STSCRED
STSTOKEN
STSKEY
SECRET
ZONE

core@n1 docker run --rm  xueshanf/awscli get-metadata instanceid
i-453266b2

Command line argument is not case sensitve.

Copy data from s3 bucket to local file system:

core@n1 /usr/bin/docker run --rm -v /var/apps:/apps xueshanf/awscli:latest aws s3 cp s3://<bucket>/apps/nginx/ /apps/nginx

Register an AWS instance with a load balancer. Pass in AWS credential (not needed if the instances has IAM role based permission):

sudo more /root/.aws/envvars
AWS_ACCESS_KEY_ID=<key id>
AWS_SECRET_ACCESS_KEY=<access key>
AWS_DEFAULT_REGION=us-west-2
#!/bin/bash
AWS_CONFIG_ENV=/root/.aws/envvars
INSTANCE=$(/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id)
IMAGE=xueshanf/awscli:latest

CMD="aws elb register-instances-with-load-balancer \
    --load-balancer-name <elb name> --instances $INSTANCE "

docker pull $IMAGE
docker run --rm --env-file=$AWS_CONFIG_ENV $IMAGE /bin/bash -c "$CMD"

About

Dockerfile for awscli

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 92.2%
  • Dockerfile 7.8%