권장되는 대로 Linux에서 .NET Core Worker Service 애플리케이션을 systemd 데몬/서비스로 배포하고 있습니다. .NET Core 애플리케이션은 일체형 exe 파일을 생성하는 SingleFile 속성을 사용하여 게시됩니다. systemd/system/myService.service 파일에서 ExecStart를 exe 파일 경로로 설정했습니다.
작동하지만 시스템을 부팅할 때마다 "추출된" exe 번들의 서비스 작업 디렉터리가 /var/tmp/.net/root/{dynamicdirectory} - 부팅할 때마다 생성되는 동적 디렉터리에 마운트되는 것을 확인했습니다.
고정된 디렉터리에 파일을 설치해야 합니다. .service 구성 옵션에서 이 기능을 제어하는 옵션을 찾을 수 없습니다.
이 작업을 수행하는 방법을 아는 사람이 있나요?
답변1
귀하의 사용 사례에서는 다음을 사용하십시오.Michal Politovsky가 제공한 정보댓글에. 추출 디렉터리가 /var/tmp로 설정된 이유는 다음과 같습니다.
DOTNET_BUNDLE_EXTRACT_BASE_DIR
귀하에게 서비스가 제공되는 환경에는 존재하지 않습니다.
이것이 사실이기 때문에,이 환경 변수를 지속적으로 정의해야 합니다.systemd 서비스를 실행하는 사용자.
(또는환경 파일 또는 환경 정의=서비스 파일 자체의 옵션)