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)。

関連情報