Docker:使用git push而不是ADD构建。 / MYAPP

时间:2015-09-07 09:27:57

标签: git docker

基本上我的Dockerfile看起来像这样:

FROM ruby:2.1.4
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev
RUN mkdir /myapp
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
RUN bundle install
ADD . /myapp

没关系,但最后一行ADD . /myapp不是很聪明:它复制了每个本地文件,包括<APP_ROOT>/log,其中包含8GB无用数据。

另一方面,git完美配置为只存储有用的数据(感谢.gitignore等)。

是否有一个简单的解决方案可以将Docker中的git pull <local_files> master转换为主机或什么?

否则我也可以从github中提取,但它会增加外部依赖性。

2 个答案:

答案 0 :(得分:3)

听起来您可能正在寻找.dockerignore文件。在构建时在图像内部执行git pull并不是一个非常确定的解决方案。

答案 1 :(得分:0)

您可以使用

在docker镜像中添加git
apt-get install -y git

然后一个

RUN git clone ....

但是,恕我直言,我认为最好清理你的app文件夹,然后通过ADD docker命令添加它