Docker -v의 내용이 다르면 컨테이너가 시작된 후 다른 효과가 발생합니다.

Docker -v의 내용이 다르면 컨테이너가 시작된 후 다른 효과가 발생합니다.

사용시 문제가 발생하면 -v "%desktopPath%\%folderName%":/dobot/userdata/project:rw해당 파일이 존재하지 않는다고 보고 /dobot/userdata/project/properties/controlCabType.json하지만 사용시에는 문제가 없습니다 -v "%desktopPath%\%folderName%":/dobot/userdata/project/project:rw. 이 파일은 /dobot/userdata/project/properties/controlCabType.json컨테이너 이미지를 생성하는 동안 생성됩니다 dobotv4vc:v4510b2. 실행 시 docker run동일한 컨테이너 이미지가 사용되며 -v옵션만 다릅니다. rw공유 디렉터리에 권한을 추가했지만 여전히 문제가 있습니다. 문제가 무엇입니까?

내 컨테이너 이미지는 Debian:bookworm을 기반으로 하며 호스팅 시스템은 Windows 10입니다.

Docker는 전체 명령을 실행합니다.

docker run --dns=8.8.8.8 -d --name=crv4 --network bridge ^
    -p 2022:22 -p 2502:502 -p 2503:503 -p 1502:1502 -p 1503:1503     -p 18083:8083    -p 18883:1883 ^
    -p 22000:22000 -p 22001:22001  -p 29999:29999  -p 30004:30004  -p 30005:30005  -p 30006:30006 ^
    -p 40001:40001 -p 40002:40002  -p 40003:40003  -p 40004:40004  -p 40005:40005  -p 40006:40006 ^
    -p 65501:65501 -p 65502:65502  -p 65503:65503  -p 65504:65504  -p 65505:65505  -p 65506:65506 ^
    -p 65511:65511 -p 65512:65512  -p 65513:65513  -p 65514:65514  -p 65515:65515  -p 65516:65516 ^
    -p 65521:65521 -p 65522:65522  -p 65523:65523  -p 65524:65524  -p 65525:65525  -p 65526:65526 ^
    -p 65527:65527  -v "%desktopPath%\%folderName%":/dobot/userdata/project:rw    dobotv4vc:v4510b2

답변1

당신이 사용할 때

-v "%desktopPath%\%folderName%":/dobot/userdata/project:rw

/dobot/userdata/project실행 중인 컨테이너 내의 디렉터리는 %desktopPath%\%folderName%호스트에 대한 액세스를 제공합니다. 컨테이너 내부에서 실행되는 프로그램이 파일을 찾으려면 /dobot/userdata/project/properties/controlCabType.json파일이 %desktopPath%\%folderName%\properties호스트 에 존재해야 합니다. 컨테이너 이미지를 생성하는 동안 파일이 생성된다고 언급했는데, 여기에 볼륨을 탑재하면 /dobot/userdata/project이미지에서 파일을 마스킹할 수 있습니다.

그리고

-v "%desktopPath%\%folderName%":/dobot/userdata/project/project:rw

볼륨은 에 마운트되며 /dobot/userdata/project/project자체적 /dobot/userdata/project으로 컨테이너 이미지의 파일에 대한 액세스를 계속 제공합니다(디렉토리 아래의 항목 제외 project).

관련 정보