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

mmuller88-docker-build-ami-0.7.2.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file mmuller88-docker-build-ami-0.7.2.tar.gz.

File metadata

  • Download URL: mmuller88-docker-build-ami-0.7.2.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for mmuller88-docker-build-ami-0.7.2.tar.gz
Algorithm Hash digest
SHA256 94a0ad1cfb2c042fcb75ab27798ae3c155dbb0e344905a6ba985cd88d227a250
MD5 6b8e4a2ee1e837c85d14817075bcf285
BLAKE2b-256 1594024bac224248526c85567fbffadaa226ac9464a86712540ef3258f4dbd5a

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