我是Docker的初学者。我开始写一个小Dockerfile
。我无法使用以下Dockerfile
克隆我的回购。
FROM mattes/hello-world-nginx
RUN apt-get update && apt-get install -y git
RUN git clone https://github.com/umairnow/LocalizableGenerator.git
VOLUME LocalizableGenerator
我不确定我做得对,还是我必须使用WORKDIR
。我也试过了,但它没有克隆回购。
VOLUME ["/data"]
WORKDIR /LocalizableGenerator
有人可以帮忙吗?
答案 0 :(得分:1)
您的git clone
确实有效:
$ docker build . -t test
...
Successfully built 5370e446d719
Successfully tagged test:latest
$ docker run -ti test /bin/bash
root@1377e0a4735d:/# cd LocalizableGenerator/
root@1377e0a4735d:/LocalizableGenerator# git log | head
commit 289a77330eefb7abaa90ca61e4226a3c29896e58
Author: Umair Aamir <umair@myworkout.no>
Date: Tue Jan 9 13:04:16 2018 +0100
Improved get input method. Now user can just drag drop file path or paste file path to generate translation files.
commit e3aa870362b24765095eb80d7aa7910964c010f0
Author: Umair Aamir <umair@myworkout.no>
Date: Tue Jan 9 12:51:57 2018 +0100
root@1377e0a4735d:/LocalizableGenerator#
我不认为你想要VOLUME
指令。 VOLUME
用于将容器外部的目录挂载到容器本身。在这里,您已经拥有容器中的目录。
答案 1 :(得分:0)
您可以在本地克隆repo(在docker文件中),然后使用&#34; COPY&#34;或者&#34; ADD&#34;将代码放入Docker镜像的说明。 它可以让你在没有git相关软件的情况下保持图像清晰。