代码之家  ›  专栏  ›  技术社区  ›  souldeux

kubernetes pod无法部署;Docker映像丢失/放错文件?

  •  3
  • souldeux  · 技术社区  · 6 年前

    我正在尝试用谷歌云平台来学习如何绕过Kubernetes。我有一个基于Vue的小型应用程序在本地使用以下功能 Dockerfile docker-compose.yml .

    在当地建设和推广这个项目效果很好。但是,使用时 kompose up 要为此创建部署/svc/等,容器无法正确生成。最终它会进入一个崩溃的循环。

    检查日志表明问题在于 npm 不能发现 /opt/eyeball/package.json /opt/eyeball/package-lock.json .我很困惑,因为当我构建和推送我的集群最终将要崩溃的映像时,这不是一个问题-这些文件是正确的,您可以期望它们基于我的 文档文件 .知道为什么会这样吗?

    文档文件

    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"
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   David Maze    6 年前

    您需要删除 volumes: 阻止在您的 docker-compose.yml 文件。

    这个 卷: 阻止在您的 docker-compose.yml公司 指示Docker获取本地目录的内容并将其装入容器中,该容器将隐藏添加到 Dockerfile .当您使用Kompose部署这个时,这将被转换为Kubernetes指令,但是由于Kubernetes环境没有您的本地开发环境,这将导致部署的容器失败。