def start_docker(slug): if is_linux(): local_ip = settings.DOCKER_LINUX_IP else: local_ip = socket.gethostbyname(socket.gethostname()) command = "{} {} 1 2 {}".format(local_ip, settings.CONSOLE_SERVER_PORT, str(logging.root.level)) docker_client = DockerClient() folder = Folder(slug) copy_tree(folder.verification_folder_path(), folder.container_verification_folder_path()) docker_container = docker_client.run( slug, command, volumes={ '/opt/mission/src': folder.compiled_referee_folder_path(), '/opt/mission/envs': folder.compiled_envs_folder_path() }) for line in docker_container.logs(stream=True, logs=True): try: logging.info(line) except Exception as e: logging.error(e, exc_info=True) pass
def rebuild_mission(slug): folder = Folder(slug) docker = DockerClient() verification_folder_path = folder.container_verification_folder_path() logging.info("Build docker image %s from %s", folder.image_name(), verification_folder_path) if os.path.exists(verification_folder_path): shutil.rmtree(verification_folder_path) copy_tree(folder.verification_folder_path(), verification_folder_path) docker.build(name_image=folder.image_name(), path=verification_folder_path)
def rebuild_mission(slug): folder = Folder(slug) docker = DockerClient() verification_folder_path = folder.container_verification_folder_path() logging.info("Build docker image %s from %s", folder.image_name(), verification_folder_path) if os.path.exists(verification_folder_path): shutil.rmtree(verification_folder_path) copy_tree(folder.verification_folder_path(), verification_folder_path) docker.build(name_image=folder.image_name(), path=verification_folder_path)
def start_docker(slug): if is_linux(): local_ip = settings.DOCKER_LINUX_IP else: local_ip = socket.gethostbyname(socket.gethostname()) command = "{} {} 1 2 {}".format(local_ip, settings.CONSOLE_SERVER_PORT, str(logging.root.level)) docker_client = DockerClient() folder = Folder(slug) copy_tree(folder.verification_folder_path(), folder.container_verification_folder_path()) docker_container = docker_client.run(slug, command, volumes={ '/opt/mission/src': folder.compiled_referee_folder_path(), '/opt/mission/envs': folder.compiled_envs_folder_path() }) for line in docker_container.logs(stream=True, logs=True): try: logging.info(line) except Exception as e: logging.error(e, exc_info=True) pass