docker - cp: 无法创建 '/node_modules/mongo-express/config.js': 文件存在
问题描述
Kubernetes 卷挂载问题。
mongo-express 容器有一个文件/node-modules/mongo-express/config.js
我需要用我的/tmp/config.js覆盖/node-modules/mongo-express/config.js
我正在尝试将 /tmp 下的自定义 config.js(由 ConfigMaps 挂载)复制到容器路径 /node-modules/mongo-express 下的文件夹中。
但我无法做到这一点并得到以下错误:
cp: 无法创建 '/node_modules/mongo-express/config.js': 文件存在
下面我们可以找到我用来实现这一点的deployment.yaml 。
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mongo-express
spec:
selector:
matchLabels:
app: mongo-express
template:
metadata:
labels:
app: mongo-express
spec:
containers:
- name: mongo-express
image: mongo-express:latest
command:
- sh
- -c
- cp /tmp/config.js /node_modules/mongo-express
ports:
- name: mongo-express
containerPort: 8081
volumeMounts:
- name: custom-config-js
mountPath: /tmp
volumes:
- name: custom-config-js
configMap:
name: mongodb-express-config-js
我试过了:
- cp -f /tmp/config.js /node_modules/mongo-express
- cp -r /tmp/config.js /node_modules/mongo-express
- \cp -r /tmp/config.js /node_modules/mongo-express
以及更多。但没有成功。任何帮助深表感谢。
解决方案
大多数容器镜像是不可变的。
您可能需要的是 subPath 挂载:
volumeMounts:
- mountPath: /node_modules/mongo-express/config.js
name: custom-config-js
subPath: config.js
推荐阅读
- python - Python pandas 将质心数据合并回数据框
- python - “TypeError:无法将 'list' 对象隐式转换为 str” 谁能看到什么可以修复我的代码?
- amazon-cloudformation - 将 HostedZone NameServers 指定为 CloudFormation 输出
- mongodb - Mongodb更新子文档字段以更好的方法比较更新
- sql-server - SQL Server 加入查询 DateCompleted > 3 年前
- r - 使用带有 x 轴的基 R 的堆叠/闪避条形图是数值数据
- java - spring boot和tomcat - 找不到文件
- vmware - 用于监控库存的 vCeter API
- c++ - 使用高级语言对静态 C++ 库进行单元测试?
- python - 使用另一列分组后获取具有该列最大计数的记录