基本上我的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中提取,但它会增加外部依赖性。
答案 0 :(得分:3)
听起来您可能正在寻找.dockerignore文件。在构建时在图像内部执行git pull
并不是一个非常确定的解决方案。
答案 1 :(得分:0)
您可以使用
在docker镜像中添加gitapt-get install -y git
然后一个
RUN git clone ....
但是,恕我直言,我认为最好清理你的app文件夹,然后通过ADD docker命令添加它