【发布时间】: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