コード例 #1
0
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
コード例 #2
0
ファイル: getters.py プロジェクト: a1ip/checkio-cli
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)
コード例 #3
0
ファイル: getters.py プロジェクト: vedgar/checkio-cli
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)
コード例 #4
0
ファイル: testing.py プロジェクト: a1ip/checkio-cli
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