我想创建一个cronjob,它运行一个安装为pvc的python脚本,但是我不知道如何从本地文件系统将test.py放入容器中
apiVersion: batch/v2alpha1
kind: CronJob
metadata:
name: update_db
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: update-fingerprints
image: python:3.6.2-slim
command: ["/bin/bash"]
args: ["-c", "python /client/test.py"]
volumeMounts:
- name: application-code
mountPath: /where/ever
restartPolicy: OnFailure
volumes:
- name: application-code
persistentVolumeClaim:
claimName: application-code-pv-claim
答案 0 :(得分:1)
您有一个名为application-code
的卷。 test.py
文件位于其中。现在,您已经安装了该卷,但是没有根据您的shell命令设置mountPath。
参数为pyhton /client/test.py
,因此您希望将文件放置在/client
目录中。您只需要使用以下路径安装卷即可:
volumeMounts:
- name: application-code
mountPath: /client
更新
如果您不需要群集外部的文件,则将其集成到您的docker映像中会容易得多。这里是一个示例Dockerfile
:
FROM python:3.6.2-slim
WORKDIR /data
COPY test.py .
ENTRYPOINT['/bin/bash', '-c', 'python /data/test.py']
将图像推送到docker注册表并从yml中引用它。
containers:
- name: update-fingerprints
image: <your-container-registry>:<image-name>