私はkubernetesとdockerにかなり慣れていないので、しばらくお待ちください。
kubernetes pod である docker に含まれる Linux に Windows 共有をマウントしようとしています。
共有を手動でマウントするために、kubernetesとdockerですべての正しい権限を取得することができました。ただし、これは自動化する必要があるため、Dockerfile を介して行う必要があります。
これは私の Dockerfile です:
WORKDIR /app
COPY ./start-script.sh ./start-script.sh
RUN apt-get update && apt-get install -y cifs-utils
RUN mkdir Windows-Share
# RUN mount.cifs <Window share folder> /app/Windows-Share/ -o username=<username>,password=<password>,domain=<domain>
ENTRYPOINT ["bash", "./start-script.sh"]
ここに私のstart-script.shがあります:
#!/bin/bash
mount.cifs <Window share folder> /app/Windows-Share/ -o username=<username>,password=<password>,domain=<domain>
exec dotnet <dotnet dll>
ここで、docker コマンドのいずれにもアクセスできないことに注意してください。それらはすべて kubernetes によって処理されます。kubernetes がポッドを作成すると、ログに次のように表示されます。
マウント エラー (13): 許可が拒否されました
mount.cifs(8) のマニュアル ページを参照してください (man mount.cifs など)。
kubernetes ポッドにログインしてマウント コマンドを手動で実行すると、問題なくマウントされるため、これは私を混乱させます。私は何が欠けていますか?