def install(): loader = PackageLoader() package = loader.load(os.getcwd()) client_factory = DockerClientFactory() client = client_factory.get_client() container = client.create_container( image=package.current_image, stdin_open=True, tty=True, command="pip install flask", working_dir=MOUNT_DIRECTORY, host_config=client.create_host_config(binds={ os.getcwd(): { "bind": MOUNT_DIRECTORY, "mode": "rw" } }) ) dockerpty.start(client, container) # Update package image package.current_image = client.commit(container.get("Id")).get("Id") loader.save(os.getcwd(), package)
def init(name, version, description, entry_point, base_image): package = Package(name, version, description, entry_point, base_image) loader = PackageLoader() generator = loader.save(os.getcwd(), package, should_require_confirmation=True) package_file_path, package_file_contents = generator.next() click.echo() click.echo(click.style("About to write to {}:".format(package_file_path), fg="green", bold=True)) click.echo() click.echo(package_file_contents) click.echo() if click.confirm(click.style("Is this OK?", fg="green"), default=True): generator.next() else: click.echo(click.style("Aborted.", fg="red", bold=True))