Скопируйте клон репо в Dockerfile - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь клонировать репозиторий в моем файле dockerfile, а затем скопировать этот репозиторий в указанную c папку контейнера docker.

Вот мой dockerfile:

FROM node:11-alpine

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY ./package.json /usr/src/app/

RUN apk --no-cache --virtual build-dependencies add git python make g++ \
    && git config --global url."https://".insteadOf git:// \
    && apk add curl \
    && apk add git bash && git clone https://github.com/vishnubob/wait-for-it.git \
    && yarn install \
    && yarn cache clean --force \
    && apk del build-dependencies 

COPY wait-for-it /usr/src/app

Это выводит: ERROR: Service 'exchanges_api' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder416734770/wait-for-it: no such file or directory

Однако, если я добавлю RUN ls перед копией, я получу подтверждение, что файл существует , есть идеи, где я могу пойти не так?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

COPY используется для копирования ресурса с хост-машины в ваш docker образ. Но в вашем случае, похоже, вы пытаетесь скопировать ресурс из одного места в другое в docker образе.

Замените COPY wait-for-it /usr/src/app следующим:

RUN cp -a wait-for-it /usr/src/app
0 голосов
/ 19 апреля 2020

Из этой ошибки '' нет такого файла или каталога 'вы видите, что это проблема с путем к файлу, и действительно, как вы можете видеть, есть ошибка в этом COPY . /package. json это неверный путь, вам нужно что-то вроде .. /package.json или просто package.json зависит от того, где находится файл в вашем каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...