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

基本上我的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 ADD . /myapp不是很聪明:它会复制每个本地文件,包括包含8GB无用数据的<APP_ROOT>/log

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

是不是有一个简单的解决scheme,从Docker到主机或者什么东西,让一个git pull <local_files> master

否则,我也可以从github上拉,但它增加了外部依赖。

这听起来像你可能正在寻找.dockerignore文件。 在构build时做一个git pull的图像看起来不是一个非常确定的解决scheme。

您可以在Docker镜像中添加git

 apt-get install -y git 

然后a

 RUN git clone .... 

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