in scripts/gen_dockerfile.py [0:0]
def generate_files(app_config):
"""Generate a Dockerfile and helper files for an application.
Args:
app_config (AppConfig): Validated configuration
Returns:
dict: Map of filename to desired file contents
"""
if app_config.has_requirements_txt:
optional_requirements_txt = get_data('Dockerfile.requirements_txt')
else:
optional_requirements_txt = ''
if app_config.entrypoint:
optional_entrypoint = get_data(
'Dockerfile.entrypoint.template').format(
entrypoint=app_config.entrypoint)
else:
optional_entrypoint = ''
if app_config.is_python_compat:
dockerfile = get_data('Dockerfile.python_compat')
dockerignore = get_data('dockerignore.python_compat')
else:
dockerfile = ''.join([
get_data('Dockerfile.preamble.template').format(
base_image=app_config.base_image),
get_data('Dockerfile.virtualenv.template').format(
python_version=app_config.dockerfile_python_version),
optional_requirements_txt,
get_data('Dockerfile.install_app'),
optional_entrypoint,
])
dockerignore = get_data('dockerignore')
return {
'Dockerfile': dockerfile,
'.dockerignore': dockerignore,
}