travisにドッカーをキャッシュしたい。最善の方法は、新しく作成したイメージをディスクに保存するだけですDocker Save。
従来のone-image-dockerビルドでは非常に簡単ですが、小さな最終イメージが必要なので、多段階で行います。
FROM danlynn/ember-cli:3.0.0 AS deps
RUN mkdir -p /client
# get nodejs deps:
COPY client/package.json /client/
COPY client/package-lock.json /client/
WORKDIR /client
RUN npm install node-sass
RUN npm install
RUN npm rebuild node-sass
... more long operations
FROM node:wheezy AS server
COPY --from=deps /client/ /client/
画像をすぐに保存する方法はありますかデプス 後で復元しますか?
回答 1 件
docker build --target
で特定のステージを構築できます 、すべてのステージを常に構築する必要はありません。これはあなたの場合に役立つはずだと思います。これについては、Dockerのドキュメントhttps://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stageで確認できます。
$ docker build --target builder -t alexellis2/href-counter:latest .
外部イメージをステージとして使用することもできます。これは同じドキュメントで説明されているため、次のようなことができます。
COPY --from=nginx:latest /etc/nginx/nginx.conf /nginx.conf