docker 명령은 makefile에서 파일을 찾을 수 없지만 CLI에서 직접 찾을 수 있습니다.

docker 명령은 makefile에서 파일을 찾을 수 없지만 CLI에서 직접 찾을 수 있습니다.

터미널에서 파일이 있는 디렉터리에 있으면 test.tex다음 docker명령을 실행할 수 있습니다.

$ docker run -i --rm --name latex -v "WD":/usr/src/app -w /usr/src/app registry.gitlab.com/islandoftex/images/texlive:latest-with-cache pdflatex test

makefile그러나 다음 내용으로 파일을 생성하면 :

run-docker:
    docker run -i --rm --name latex -v "$PWD":/usr/src/app -w /usr/src/app registry.gitlab.com/islandoftex/images/texlive:latest-with-cache pdflatex test

터미널에서 다음 명령을 실행합니다.

$ make run-docker

그 결과 다음과 같은 오류가 발생합니다.

docker run -i --rm --name latex -v "WD":/usr/src/app -w /usr/src/app registry.gitlab.com/islandoftex/images/texlive:latest-with-cache pdflatex test
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
! I can't find file `test'.
<*> test
        
(Press Enter to retry, or Control-D to exit)
Please type another input file name: 
! Emergency stop.
<*> test
        
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on texput.log.
make: *** [makefile:15 : run-docker] Erreur 1

이 문제를 해결하는 방법은 무엇입니까(내 생각에는 이 문제와 관련이 없는 것 같습니다 LaTeX).

답변1

변수 참조가 잘못되었습니다. $(CURDIR)Makefile에서 사용해야 합니다.

run-docker:
    docker run -i --rm --name latex -v "$(CURDIR)":/usr/src/app -w /usr/src/app registry.gitlab.com/islandoftex/images/texlive:latest-with-cache pdflatex test

관련 정보