定期从一个容器中删除 pod 中的文件
Delete file in pod from one container priodically
我有两个容器,一个正在创建一个文件,一个正在删除它,我能够创建文件但不能删除它。我希望它每 2 小时删除一次文件,我怎样才能让它以干净的方式工作?我们不想使用 cron 作业...
apiVersion: v1
kind: Pod
metadata:
name: its
spec:
volumes:
- name: common
emptyDir: {}
containers:
- name: 1st
image: nginx
volumeMounts:
- name: common
mountPath: /usr/share/nginx/html
- name: 2nd
image: debian
volumeMounts:
- name: common
mountPath: /html
command: ["/bin/sh", "-c"]
args:
- while true; do
date >> /html/index.html;
sleep 7200;
done
使用带有 alpine base 的 nginx 容器你需要安装 crond,这里是一个例子:Enable crond in an Alpine container
现在,您可以 运行 在具有文件的同一容器中执行 cron 任务,因此您只需要 1 个容器用于 pod。
此外,这是另一个关于如何 运行 在高山 docker 容器中进行 crond 的示例:
https://devopsheaven.com/cron/docker/alpine/linux/2017/10/30/run-cron-docker-alpine.html
这对我有用
apiVersion: v1
kind: Pod
metadata:
name: mc1
spec:
volumes:
- name: html
emptyDir: {}
containers:
- name: 1st
image: nginx
command: ["/bin/sh", "-c"]
args:
- while true; do
touch /usr/share/nginx/html/test.txt;
ls /usr/share/nginx/html/;
echo "file created cotnainer 1";
sleep infinity;
done
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html
- name: 2nd
image: debian
volumeMounts:
- name: html
mountPath: /html
command: ["/bin/sh", "-c"]
args:
- while true; do
ls /html;
rm /html/test.txt;
echo "container 2 - file removed";
ls /html;
sleep 7200;
done
我正在从 container 1
创建一个文件并被 container 2
删除,你遇到了什么错误?
我有两个容器,一个正在创建一个文件,一个正在删除它,我能够创建文件但不能删除它。我希望它每 2 小时删除一次文件,我怎样才能让它以干净的方式工作?我们不想使用 cron 作业...
apiVersion: v1
kind: Pod
metadata:
name: its
spec:
volumes:
- name: common
emptyDir: {}
containers:
- name: 1st
image: nginx
volumeMounts:
- name: common
mountPath: /usr/share/nginx/html
- name: 2nd
image: debian
volumeMounts:
- name: common
mountPath: /html
command: ["/bin/sh", "-c"]
args:
- while true; do
date >> /html/index.html;
sleep 7200;
done
使用带有 alpine base 的 nginx 容器你需要安装 crond,这里是一个例子:Enable crond in an Alpine container
现在,您可以 运行 在具有文件的同一容器中执行 cron 任务,因此您只需要 1 个容器用于 pod。
此外,这是另一个关于如何 运行 在高山 docker 容器中进行 crond 的示例:
https://devopsheaven.com/cron/docker/alpine/linux/2017/10/30/run-cron-docker-alpine.html
这对我有用
apiVersion: v1
kind: Pod
metadata:
name: mc1
spec:
volumes:
- name: html
emptyDir: {}
containers:
- name: 1st
image: nginx
command: ["/bin/sh", "-c"]
args:
- while true; do
touch /usr/share/nginx/html/test.txt;
ls /usr/share/nginx/html/;
echo "file created cotnainer 1";
sleep infinity;
done
volumeMounts:
- name: html
mountPath: /usr/share/nginx/html
- name: 2nd
image: debian
volumeMounts:
- name: html
mountPath: /html
command: ["/bin/sh", "-c"]
args:
- while true; do
ls /html;
rm /html/test.txt;
echo "container 2 - file removed";
ls /html;
sleep 7200;
done
我正在从 container 1
创建一个文件并被 container 2
删除,你遇到了什么错误?