제출 된 프로그램의 출력을 C, C ++, Java 및 Python으로 자동 컴파일, 실행 및 테스트하는 프로젝트를 진행하고 있습니다. 분명히 어떤 종류의 코드를 제출할 수 있기 때문에 일종의 보안 환경에서 발생해야합니다. 실용적이지 않은 chroot jail으로 컨테이너를 직접 만들려고 시도한 후 컨테이너로 전환했습니다.
이제, int i
인수로 사용하고 그것을 반환 하는 C 프로그램이 있다고 가정 해보십시오 i+1
. plusone.out
테스트 입력 목록 ( input.txt
) 과 함께 C 프로그램 ( Let 's say ) 을 LxC 컨테이너에 복사하고 컨테이너 내부에서 프로그램을 실행하고 출력을 파일 ( output.txt
)에 쓰고 해당 파일을 내보내는 스크립트를 작성하고 싶습니다. 컨테이너 외부에서 실행되는 기본 응용 프로그램이 결과를 확인할 수 있도록 호스트 시스템으로 돌아갑니다. 리소스에 대한 제한이 필요하지만 LxC의 내장 cgroups
구현 으로이를 수행 할 수 있습니다 .
위에서 설명한 대부분의 작업을 수행하는 방법을 알고 있지만 수명 동안 호스트에서 컨테이너 또는 다른 방법으로 파일을 복사하는 방법을 찾을 수 없습니다. 내가 본 모든 자습서 는 컨테이너 를 실행 ls
하거나 echo
컨테이너 내부에서 동작을 보여 주지만 호스트 시스템에서 스크립트 나 프로그램을 가져 오지 않습니다. 누구든지 나를 도울 수 있습니까? 아니면 이것을 달성하는 방법을 알려주는 문서를 참조 할 수 있습니까?