반응형
Docker 컨테이너 내부에 심볼릭 링크가있는 호스트 디렉터리 마운트
이 매개 변수를 사용하여 컨테이너를 마운트했습니다.
-v / 홈 / 테스트 / : / 홈 / 테스트
호스트의 / home / test 안에는 / mnt / 폴더를 가리키는 심볼릭 링크가 있습니다.
그러나 해당 링크는가 가리키는 곳에서 볼 수 있지만 컨테이너 내부에서 깨진 것처럼 보입니다.
root@f93f72b45013:/var/www/html# cd /home/test/
root@f93f72b45013:/home/test# ls -lrt
total 11956
lrwxrwxrwx. 1 root root 40 Jul 20 15:55 file -> /mnt/mountedfile/
root@f93f72b45013:/home/test# ls -lrt file/*
ls: cannot access file/*: No such file or directory
도커에서도 가능합니까? 나는 그것을 할 방법이 있는지 확실하지 않습니다.
나는 심볼릭 링크가 가리키는 곳에 직접 마운트 할 수 있다는 것을 알고 있지만 이것이 가능한지 궁금합니다.
Symlink는 docker 내부에서 큰 도전입니다. 귀하의 경우 두 디렉토리를 모두 마운트 할 수 있습니다.
-v /home/test/:/home/test -v /mnt/mountedfile:/mnt/mountedfile
심볼릭 링크가 컨테이너 내부와 외부에서 모두 작동하려면 절대 경로 여야하고 정확히 동일한 이름을 사용해야합니다.
일반적으로 심볼릭 링크는 도커 내에서 작동하지 않습니다. 나는 이것이 어려운 길을 발견했다.
한 가지 해결책은 Docker가 원본 파일을 마운트하도록 readlink -f
하는 것이지만 파일의 실제 위치를 인쇄하는 것을 사용 하는 것입니다. 이렇게하면 명령에서 심볼릭 링크 위치를 계속 참조 할 수 있습니다.
docker run -it -v $(readlink -f /home/test/):/home/test/ ...
반응형
'Program Tip' 카테고리의 다른 글
'perf stat'결과에서 stalled-cycles-frontend 및 stalled-cycles-backend는 무엇입니까? (0) | 2020.11.11 |
---|---|
forEach 대 forEachOrdered in Java 8 Stream (0) | 2020.11.11 |
문자의 유니 코드 값 가져 오기 (0) | 2020.11.11 |
MySQL의 저장 프로 시저에서 디버깅 정보 인쇄 (0) | 2020.11.11 |
Windows 응용 프로그램을 자동으로 업데이트하는 가장 좋은 방법은 무엇입니까? (0) | 2020.11.11 |