我正在使用 mysql Kubernetes statefulset,我将 PV 映射到主机目录(CentOS 8 VM)但得到“pod has unbound直接 PersistentVolumeClaims”
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-container
spec:
serviceName: mysql
replicas: 1
selector:
matchLabels:
app: mysql-container
template:
metadata:
labels:
app: mysql-container
spec:
containers:
- name: mysql-container
image: mysql:dev
imagePullPolicy: "IfNotPresent"
envFrom:
- secretRef:
name: prod-secrets
ports:
- containerPort: 3306
# container (pod) path
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pvc
volumeClaimTemplates:
- metadata:
name: data
spec:
storageClassName: localstorage
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: …Run Code Online (Sandbox Code Playgroud) 我对 Node.js 进行了 docker 化,一切正常
Dockerfile:
FROM node:alpine
WORKDIR '/app'
COPY package.json .
RUN npm install
COPY . .
EXPOSE 9000
CMD ["npm", "run", "dev"]
Run Code Online (Sandbox Code Playgroud)
我正在尝试在 Dockerfile 之外运行npm install并将内容复制npm install到 docker 容器
在我运行的 docker 主机上
npm install --prefix /opt/npm/ -g
Run Code Online (Sandbox Code Playgroud)
文件夹/opt/npm/lib/node_modules/ui已创建。在该文件夹中,有一堆 json 文件和文件夹 node_modules。Dockerfile 位于该文件夹中。现在,在 Dockerfile 中,我跳过了 npm install,只是将 /opt/npm/lib/node_modules/ui 的内容复制到 docker 容器。
修改后的 Dockerfile
FROM node:alpine
WORKDIR '/app'
COPY . .
EXPOSE 9000
Run Code Online (Sandbox Code Playgroud)
已成功从 Dockerfile 构建映像,但是当尝试从该映像运行容器时
docker run -p 9000:4200 pm
> ui@0.0.0 …Run Code Online (Sandbox Code Playgroud)