gpt4 book ai didi

docker - Kubernetes pod 部署失败; docker 镜像丢失/放错文件位置?

转载 作者:行者123 更新时间:2023-12-02 06:59:02 31 4
gpt4 key购买 nike

我正在尝试通过 Google Cloud Platform 学习 Kubernetes。我有一个基于 Vue 的小型应用程序,使用以下 Dockerfile 和 docker-compose.yml 在本地工作。

在本地构建和启动这个项目效果很好。但是,当使用 kompose up 创建部署/svc/等时。对于这个事情,容器无法正确构建。最终陷入崩溃循环。

检查日志显示问题是 npm 找不到 /opt/eyeball/package.json/opt/eyeball/package-lock。 json.我很困惑,因为当我构建并推送集群最终下拉的镜像时,这不是问题 - 这些文件就在您期望它们基于我的 Dockerfile 的位置。知道为什么会发生这种情况吗?

Dockerfile

FROM node:8-alpine
RUN apk --no-cache --update add gzip
RUN mkdir -p /opt/eyeball
ADD ./package.json /opt/eyeball
ADD ./package-lock.json /opt/eyeball
WORKDIR /opt/eyeball
RUN npm install
ADD . /opt/eyeball

docker-compose.yml

version: '3'

networks:
default:
external:
name: overmind

services:
eyeball:
image: registry.gitlab.com/souldeux/eyeball:latest
environment:
- HOST=0.0.0.0
ports:
- "8080:8080"
volumes:
- ./:/opt/eyeball
entrypoint: "npm run dev"

最佳答案

您需要删除 docker-compose.yml 文件中的 volumes: block 。

docker-compose.yml 中的 volumes: block 指示 Docker 获取本地目录的内容并将它们挂载到容器中,这会隐藏您想要的所有内容。添加到Dockerfile中。当您使用 Kompose 部署它时,它会转换为 Kubernetes 指令,但由于 Kubernetes 环境没有您的本地开发环境,这会导致部署的容器失败。

关于docker - Kubernetes pod 部署失败; docker 镜像丢失/放错文件位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51118561/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com