Skip to main content

Build Amazon EC2 AMI image using a Dockerfile

Project description

docker-build-ami

Build Amazon EC2 AMI image using a Dockerfile

Limitations

Only supports instructions ENV, RUN, COPY and ADD, other instructions will just be ignored.

Configuration

There is a separate config file for the script in either “/etc/docker-build-ami.conf” or “~/.docker-build-ami.conf”.

# [main]

# Temporary directory
# tmp_dir = /tmp

# Name tag for host building AMI image
# host_tag = 'docker-build-ami'

# Region
# region = eu-west-1

# Instance type
# instance_type = m3.medium

# Subnet ID
# subnet_id = subnet-123abc45

# Security Groups
# security_group_ids = ["sg-1234", "sg-23456"]

# Host Tags - additional tags to add to EC2 host
# host_tags = [{"Key": "foo", "Value": "bar"}]

# AWS access key id
# aws_access_key_id = DFSDF3HGDF4SDSD1DDFF

# AWS secret access key
# aws_secret_access_key = 3riljdsf5SDFSDvsdfds452sdSDFDfsdf44SDFdRA

# Base image from which the output image is built
# image_id = ami-0df67e2624dedbae1

# EC2 user used to build instances (usually AMI dependent)
# image_user = ubuntu

# The AMI Name of the output image
# image_name = ubuntu-test

# Image Tags - tags to add to AMI
# image_tags = [{"Key": "foo", "Value": "bar"}]

Usage

usage: docker-build-ami [-h] [-c CONFIG] [-d] [-r REGION] [-t INSTANCE_TYPE]
                        [-s SUBNET_ID] [-n IMAGE_NAME] [-i IMAGE_ID]
                        [-u IMAGE_USER]

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Configuration file
  -d, --debug           Print debug info
  -r REGION, --region REGION
                        AWS region
  -t INSTANCE_TYPE, --instance-type INSTANCE_TYPE
                        EC2 instance type
  -s SUBNET_ID, --subnet-id SUBNET_ID
                        AWS subnet id
  -n IMAGE_NAME, --image-name IMAGE_NAME
                        Target AMI image name
  -i IMAGE_ID, --image-id IMAGE_ID
                        Source AMI image ID
  -u IMAGE_USER, --image-user IMAGE_USER
                        AMI image user

Running Tests

# Run these lines once
pip3 install -r requirements-test.txt
pre-commit install

# Run these lines to check code formatting and correctness
flake8 --show-source --filename="\*.py" .
pytest --cov=docker2ami

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jamieleecho-docker-build-ami-0.7.0.tar.gz (10.3 kB view details)

Uploaded Source

File details

Details for the file jamieleecho-docker-build-ami-0.7.0.tar.gz.

File metadata

  • Download URL: jamieleecho-docker-build-ami-0.7.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jamieleecho-docker-build-ami-0.7.0.tar.gz
Algorithm Hash digest
SHA256 4bf20e7e1a92701025c40b7e612da821dba725f1377d87156fba94ebecc451f3
MD5 0874a0fb500af34bba90c358cdcf24c8
BLAKE2b-256 5cf8aba38957b0e8498c1b7fec93d511b2c4cee6f7e513441b65c5d694b38640

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page