Использование Dockerfile RUN для клонирования репозитория bitbucket - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь клонировать репозиторий bitbucket из dockerfile при запуске

docker build -t newapi .

Пока что Dockerfile выглядит как

FROM node:alpine
EXPOSE 3000
RUN git clone https://user:password@bitbucket.org/something/api.git

Если я запускаю команду git clone с помощьюсама в консоли работает, уже проверила, использую в виде

git clone https://user:password@bitbucket.org/something/api.git

И я пыталась использовать команду RUN разными способами, что выдает разные ошибки:

1.

 RUN git clone https://user:password@bitbucket.org/something/api.git

Броски:

Step 6/13 : RUN git clone https://user:password@bitbucket.org/something/api.git
---> Running in 9a748f75ff66
/bin/sh: git: not found
The command '/bin/sh -c git clone https://user:password@bitbucket.org/something/api.git' returned a non-zero code: 127

2.

RUN ["/bin/bash", "-c", "git clone https://user:password@bitbucket.org/something/api.git"]

Броски:

Step 6/13 : RUN ["/bin/bash", "-c", "git clone https://user:password@bitbucket.org/something/api.git"]
---> Running in dc7c373071c2
OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown

3.

RUN ["git", "clone", "https://user:password@bitbucket.org/something/api.git"]

Броски:

Step 6/13 : RUN ["git", "clone", "https://user:password@bitbucket.org/something/api.git"]
 ---> Running in b797b442d1fc
OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"git\": executable file not found in $PATH": unknown

4.

RUN ["/bin/sh", "-c", "git clone https://user:password@bitbucket.org/something/api.git"]

Броски:

Step 6/13 : RUN ["/bin/sh", "-c", "git clone https://user:password@bitbucket.org/something/api.git"]
 ---> Running in 2fe387a213f3
/bin/sh: git: not found
The command '/bin/sh -c git clone https://user:password@bitbucket.org/something/api.git' returned a non-zero code: 127

Я не знаю, что попробовать больше, япробовал использовать bash, потому что некоторые люди говорят, что он лучше работает с git, пробовал использовать необработанный код, который запускается с "/ bin / sh -c" перед ним.Есть ли способ просто выполнить «git clone ...» и избежать команды с чем-то предваряющим?Или как сделать то, что я пытаюсь сделать?

Я использую macOS Mojave 10.14 и Docker версии 18.06.1-ce-mac73 (26764), если это помогает

1 Ответ

0 голосов
/ 04 октября 2018

Вы должны установить пакет git:

RUN apk add --no-cache git
...