在dockerfile中复制存储库克隆

时间:2020-04-19 07:17:29

标签: docker dockerfile

我正在尝试在dockerfile中克隆存储库,然后将该存储库复制到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 :(得分:0)

从此错误“没有这样的文件或目录”中,您看到这是文件路径的问题,并且确实如您所见,在此COPY . /package. json中存在错误,这不是有效路径,您要么需要某些东西像.. /package.json或仅仅是package.json一样,取决于文件在目录中的位置。

答案 1 :(得分:0)

COPY用于将资源从主机复制到docker映像。但是在您的用例中,您似乎正在尝试将资源从Docker映像中的一个位置复制到另一个 内。

用以下内容替换COPY wait-for-it /usr/src/app

RUN cp -a wait-for-it /usr/src/app
相关问题