更新: minikubevm に接続し、ホスト ディレクトリがマウントされているのを確認しましたが、そこにファイルがありません。また、そこにファイルを作成すると、ホスト マシンには作成されません。それらの間にリンクがあります
kubernetes でアプリを開発するために、ホスト ディレクトリをマウントしようとしています。
ドキュメントが推奨するように、私は PC で kubernetes クラスターを実行するために minikube を使用しています。目標は、アプリを開発するための docker と kubernetes を使用して開発環境を作成することです。Docker がそこからコード アプリを読み取るように、ローカル ディレクトリをマウントしたいと考えています。しかし、それは仕事ではありません。どんな助けでも本当に感謝します。
私のテストアプリ(server.js):
var http = require('http');
var handleRequest = function(request, response) {
response.writeHead(200);
response.end("Hello World!");
}
var www = http.createServer(handleRequest);
www.listen(8080);
私の Dockerfile:
FROM node:latest
WORKDIR /code
ADD code/ /code
EXPOSE 8080
CMD server.js
私のポッド kubernetes 構成: (pod-configuration.yaml)
apiVersion: v1
kind: Pod
metadata:
name: apiserver
spec:
containers:
- name: node
image: myusername/nodetest:v1
ports:
- containerPort: 8080
volumeMounts:
- name: api-server-code-files
mountPath: /code
volumes:
- name: api-server-code-files
hostPath:
path: /home/<myuser>/Projects/nodetest/api-server/code
私のフォルダは次のとおりです。
/home/<myuser>/Projects/nodetest/
- pod-configuration.yaml
- api-server/
- Dockerfile
- code/
- server.js
hostPath ボリュームなしで Docker イメージを実行すると、もちろん機能しますが、問題は、変更のたびに、開発には実際には強力ではないイメージを再作成する必要があることです。そのため、ボリューム hostPath が必要です。
何か案が ?ローカル ディレクトリのマウントに失敗するのはなぜですか?
助けてくれてありがとう。