19
Dockerfile サンプル(中間⽣成物)
FROM freee-internal-base
WORKDIR /home/vscode/src/repo-a
RUN git clone https://github.com/org/repo-a .
RUN asdf install
RUN bundle install -j4
RUN npm install
Ruby や Node.js がインストールされる
中間⽣成物なのでレイヤ数の圧縮は気にせずに
RUN 命令は細かく分割する
ローカルでビルドする際にレイヤキャッシュ
を活⽤できて効率 UP
apt パッケージのインストール等を済ませた
ベースイメージ
Slide 20
Slide 20 text
20
Dockerfile サンプル(最終成果物)
FROM freee-devcontainer-src-images/repo-a as repo-a
FROM freee-devcontainer-src-images/repo-b as repo-b
FROM freee-devcontainer-base
COPY --from=repo-a /home/vscode/.asdf /home/vscode/.asdf
COPY --from=repo-a /home/vscode/src/repo-a /home/vscode/src/repo-a
COPY --from=repo-b /home/vscode/.asdf /home/vscode/.asdf
COPY --from=repo-b /home/vscode/src/repo-b /home/vscode/src/repo-b
中間⽣成物をソースに指定
これらの COPY を開発する
リポジトリ全てに⾏う
開発⽤便利ツールを⾊々インストール済