【问题标题】:Github action Error: Dockerfile does not exist in location DockerfileGithub 操作错误:Dockerfile 位置 Dockerfile 中不存在
【发布时间】:2022-11-03 04:55:04
【问题描述】:

我需要在 dockerHub 上构建和推送我的 docker 映像,但在路径 Dockerfile 上出现错误。

我学过其他 (Build Docker image using GitHub Actions: No such file or directory) 但我不明白如何解决这个错误。

service:
      runs-on: ubuntu-latest
      defaults:
        run:
          working-directory: ./microservices/service

      strategy:
        matrix:
          node-version: [16.x]

      steps:
      - name: CHECK-OUT GIT REPOSITORY
        uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
          cache-dependency-path: '**/package-lock.json'
      - name: INSTALL DEPENDENCIES
        run: npm ci
      - name: BUILDING APP
        run: npm run build --if-present
      #- name: TESTINT APP
      #- run: npm test
      - name: Build & push Docker image
        uses: mr-smithers-excellent/docker-build-push@v5
        with:
          image: dockercountname/aos_movie_service
          tags: latest
          registry: docker.io
          dockerfile: Dockerfile
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

我的本地目录: 我为每个服务有很多 subForlder,每个服务都包含他的 Dockerfile。

microservice_cicd(forlder)
   microservices(forlder)
     service1(forlder)
       package.json
       Dockerfile
       ...
     service2(forlder)
       package.json
       Dockerfile
       ...

这是我的 Dockerfile:

FROM node:latest
RUN mkdir -p /src/app
WORKDIR /src/app
COPY package.json /src/app/package.json
RUN npm install
COPY . /src/app
EXPOSE 3003
CMD [ "npm", "start" ]

【问题讨论】:

  • 那么你的 DockerFile 在哪里
  • 谢谢你的回答。我的 Dockerfile 位于 microservice_cicd>microservices>service>Dockerfile。
  • 您好,我实际上遇到了其他错误,Step 4/7 : COPY ./package.json ./ COPY failed: file not found in build context or excluded by .dockerignore: stat package.json: file does not exist 我正在寻找解决方案。不要犹豫,有人可以帮助我。

标签: github-actions


【解决方案1】:

最后我找到了解决方案。

工作流程

  AuthService:
      runs-on: ubuntu-latest
      defaults:
        run:
          working-directory: ./microservices/AuthService

      strategy:
        matrix:
          node-version: [16.x]

      steps:
      - name: CHECK-OUT GIT REPOSITORY
        uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}
          cache: 'npm'
          cache-dependency-path: '**/package-lock.json'
      - name: INSTALL DEPENDENCIES
        run: npm ci
      - name: BUILDING APP
        run: npm run build --if-present
      #- name: TESTINT APP
      #- run: npm test
      - name: Build & push Docker image
        uses: mr-smithers-excellent/docker-build-push@v5
        with:
          # directory: /microservices/AuthService
          image: dockerHubCountName/aos_movie_auth_service      
          tags: latest
          registry: docker.io
          dockerfile: microservices/AuthService/Dockerfile
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}

Dockerfile

FROM node:latest
RUN mkdir -p /src/app
WORKDIR /src/app
COPY microservices/SearchService .
RUN npm install
EXPOSE 3003
CMD [ "npm", "start" ]

谢谢你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多