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.5.tar.gz (10.8 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: mmuller88-docker-build-ami-0.7.5.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.5.tar.gz
Algorithm Hash digest
SHA256 3ffbe1741536ed614ca0f5bc0fd0f7551902b891c1ea6876f1595f23a1f0a81d
MD5 7cee5ca652f35ad10ed77e9076cf4a69
BLAKE2b-256 07a828f0812dcfb8ca350b6cc6befd6108e91b478c3ee9264834d34e8283ae26

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