CI sunucu yapı görüntü yeniden çalıştırıcı docker önbelleğindeki çıkış projesine ihtiyacım var.docker git checkout aynı dosyaya geldiğinde önbellek ekle
Docker önbellek zaman ödeme aynı dosya kullanmayın ADD.
Ben bir normalde liman işçisi önbelleği kullanmak docker build -t somename .
yürütmek git dalında, ama ben git checkout B
aracılığıyla B dallara giderseniz, hiçbir şey yapmak, git checkout A
aracılığıyla A dallara gidip docker build -t somename .
tekrar liman işçisi çalıştırmak önbellek sadece ilk ADD'den önce kullanıyor. Burada
örnek:
Dockerfile Yapı '
# DOCKER-VERSION 0.10.0
FROM myregistry:5000/ruby:2.1.2-1
MAINTAINER ME
# Gem sources
RUN gem source -r https://rubygems.org/
RUN gem source -a http://gems.mydomain
# Never install a ruby gem docs
RUN echo "gem: --no-rdoc --no-ri" >> ~/.gemrc
# gems install
RUN mkdir /foo
WORKDIR /foo
RUN gem install bundler
ADD Gemfile /foo/Gemfile
RUN bundle install
# expose ports
EXPOSE 8080
günlük
Sending build context to Docker daemon 19.54 MB
Sending build context to Docker daemon
Step 0 : FROM myregistry:5000/ruby:2.1.2-1
---> 9ce683a713b4
Step 1 : MAINTAINER ME
---> Using cache
---> 8f54114fd2e7
Step 2 : RUN gem source -r https://rubygems.org/
---> Using cache
---> f58a08708863
Step 3 : RUN gem source -a http://gems.mydomain
---> Using cache
---> 3e69e17c5954
Step 4 : RUN echo "gem: --no-rdoc --no-ri" >> ~/.gemrc
---> Using cache
---> 1edb37962dd4
Step 5 : RUN mkdir /foo
---> Running in 3d3441c34ee3
---> aeb90f00bc9b
Removing intermediate container 3d3441c34ee3
Step 6 : WORKDIR /foo
---> Running in 84b881d8f621
---> 10e1d8984458
Removing intermediate container 84b881d8f621
Step 7 : RUN gem install bundler
---> Running in 31e98523ce46
Successfully installed bundler-1.6.2
1 gem installed
---> 84d5195ab831
Removing intermediate container 31e98523ce46
Step 8 : ADD Gemfile /foo/Gemfile
---> 3e5f2675ee22
Removing intermediate container c90e8be5ea17
Step 9 : RUN bundle install
---> Running in ac0e83e5eebb
Fetching gem metadata from http://gems.mydomain/......
Fetching additional metadata from http://gems.mydomain/..
Resolving dependencies...
Installing rake 10.3.2
Installing i18n 0.6.9
Installing multi_json 1.10.1
.
.
.
Installing railties 3.2.19
Installing responders 0.9.3
Using bundler 1.6.2
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
---> 19beae703adb
Removing intermediate container ac0e83e5eebb
Step 10 : EXPOSE 8080
---> Running in 1b1e55d349e5
---> 32405bdac6d1
Removing intermediate container 1b1e55d349e5
Successfully built 32405bdac6d1
git ödeme B
git ödeme bir
docker yapı -t somename.
İkinci derlemeyi günlüğü
Sending build context to Docker daemon 19.52 MB
Sending build context to Docker daemon
Step 0 : FROM myregistry:5000/ruby:2.1.2-1
---> 9ce683a713b4
Step 1 : MAINTAINER ME
---> Using cache
---> 8f54114fd2e7
Step 2 : RUN gem source -r https://rubygems.org/
---> Using cache
---> f58a08708863
Step 3 : RUN gem source -a http://gems.mydomain
---> Using cache
---> 3e69e17c5954
Step 4 : RUN echo "gem: --no-rdoc --no-ri" >> ~/.gemrc
---> Using cache
---> 1edb37962dd4
Step 5 : RUN mkdir /foo
---> Using cache
---> aeb90f00bc9b
Step 6 : WORKDIR /foo
---> Using cache
---> 10e1d8984458
Step 7 : RUN gem install bundler
---> Using cache
---> 84d5195ab831
Step 8 : ADD Gemfile /foo/Gemfile
---> 4977e35c80f7
Removing intermediate container bd59cc0d5e51
Step 9 : RUN bundle install
---> Running in 6ff16f32e94a
Fetching gem metadata from http://gems.mydomain/......
Fetching additional metadata from http://gems.mydomain/..
Resolving dependencies...
Installing rake 10.3.2
Installing i18n 0.6.9
Installing multi_json 1.10.1
.
.
.
Installing railties 3.2.19
Installing responders 0.9.3
Using bundler 1.6.2
Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.
---> d9332f9035c3
Removing intermediate container 6ff16f32e94a
Step 10 : EXPOSE 8080
---> Running in b20252a00160
---> 4d9932882e06
Removing intermediate container b20252a00160
Successfully built 4d9932882e06
Bu benim için mükemmel çalışıyor güncellendi!:) Ama dokunmaz .gitignore ve .git * dosyaları. Düzenlenmiş komutu grep -v .git/'gibi kullanıyorum. – nacyot