【发布时间】:2020-01-22 01:20:12
【问题描述】:
我得到错误:python: can't open file 'app.py': [Errno 2] No such file or directory部署。我已经包含了文件夹结构、部署和 PVC 清单。
当我从使用下面的 docker 文件构建的 docker 映像创建容器时,它运行良好 - 状态:正在运行。
我怀疑这可能与持久卷或我编写路径的方式有关。我也为我的路径尝试了长格式(/var/www/code/order_service/app..),但面临同样的问题。
我将不胜感激。在此先感谢各位。
Docker 文件
FROM python:3-alpine3.10
COPY ./app/requirements.txt /app/requirements.txt
WORKDIR /app
RUN apk add --update \
bash \
curl \
py-mysqldb \
gcc \
libc-dev \
mariadb-dev \
nodejs \
npm \
&& pip install --upgrade pip \
&& pip install -r requirements.txt \
&& rm -rf /var/cache/apk/*
COPY ./app/package.json /app/package.json
RUN npm install
COPY ./app /app
CMD ["python", "app.py"]
文件夹结构
code
order_service
app
app.py
这是我的清单:
DEPLOYMENT
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
io.kompose.service: order
name: order
spec:
replicas: 1
selector:
matchLabels:
io.kompose.service: order
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: order
spec:
containers:
- image: order:1.0
imagePullPolicy: IfNotPresent
name: order
ports:
- containerPort: 5000
resources: {}
volumeMounts:
- mountPath: ./app
name: order-claim0
restartPolicy: Always
volumes:
- name: order-claim0
persistentVolumeClaim:
claimName: order-claim0
status: {}
PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
io.kompose.service: order-claim0
name: order-claim0
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
【问题讨论】:
-
尝试在基于镜像的容器中运行
sh,查看文件是否存在,workdir是否正确。
标签: python docker kubernetes