我正在尝试在Digital Ocean Kubernetes Cluster上的Rails应用程序中启动Webpack Dev Server。我无法弄清楚正确的命令。该应用程序在本地 Docker 中运行。
我不断收到这样的错误:
错误:无法启动容器"exactpos-webpack":来自的错误响应 守护程序:OCI 运行时创建失败:container_linux.go:348:启动 容器进程导致"exec: \"bin/bash\": stat bin/bash: no such. 文件或目录":未知 退避重新启动失败的容器
这是我的docker-compose.yml文件中的代码:
webpack_dev_server: build: .
command: ./bin/webpack-dev-server
ports:
- 3035:3035
volumes:
- .:/usr/src/app
- gem_cache:/gems
env_file:
- .env/development/web
- .env/development/database environment:
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
这是我的kubectl部署yaml文件:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: exactpos-webpack
spec:
replicas: 1
minReadySeconds: 150
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: exactpos-webpack
tier: webpack
template:
metadata:
name: exactpos-webppack
labels:
app: exactpos-webpack
tier: webpack
spec:
imagePullSecrets:
- name: dockerhub-cred
containers:
- name: exactpos-webpack
image: index.docker.io/markhorrocks/exactpos_webpacker_dev_server:prod
command: ["bin/bash","-c", "./bin/webpack_dev_server"]
imagePullPolicy: Always
ports:
- containerPort: 3500
readinessProbe:
tcpSocket:
port: 3500
initialDelaySeconds: 150
timeoutSeconds: 5
periodSeconds: 5
failureThreshold: 10
livenessProbe:
tcpSocket:
port: 3500
initialDelaySeconds: 120
timeoutSeconds: 5
periodSeconds: 5
failureThreshold: 10
env:
- name: RAILS_LOG_TO_STDOUT
value: "true"
- name: RAILS_SERVE_STATIC_FILES
value: "true"
- name: DATABASE_NAME
value: "exactpos_production"
- name: DATABASE_PORT
value: "5432"
- name: DATABASE_URL
value: "postgres"
- name: DATABASE_USER
valueFrom:
secretKeyRef:
name: "db-user"
key: "username"
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: "db-user-pass"
key: "password"
- name: REDIS_URL
value: "redis"
- name: REDIS_PORT
value: "6379"
- name: RAILS_ENV
value: "production"
- name: WEBPACKER_DEV_SERVER_HOST
value: "0.0.0.0"
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
name: "secret-key-base"
key: "secret-key-base"
您的 deployment.yaml 具有以下内容:
command: ["bin/bash","-c", "./bin/webpack_dev_server"]
docker 映像中不存在bin/bash
。它应该是这样的:
command: ["/bin/bash","-c", "./bin/webpack_dev_server"]
我相信,它会解决你的问题。
编辑1:我再次查看了您的docker-compose.yml文件,并看到以下行:
volumes:
- .:/usr/src/app
这意味着在 docker 运行时,您将所有文件从.
目录复制到 /usr/src/app
.config/webpacker.yml
是否在该位置存在?或者您在运行时从目录中的任何内容中覆盖了/usr/src/app
.
。您能否分享您的应用程序的 DockerFile 以更好地理解?