リリース2.9


マイワーク


Apply Dockerfile best practices from Snyk recommendations #1668
動作するDockerfileのリスト
  • https://github.com/Seneca-CDOT/telescope/pull/3231
  • https://github.com/Seneca-CDOT/telescope/pull/3256
  • https://github.com/Seneca-CDOT/telescope/pull/3236
  • https://github.com/Seneca-CDOT/telescope/pull/3235
  • https://github.com/Seneca-CDOT/telescope/pull/3255
  • https://github.com/Seneca-CDOT/telescope/pull/3238

  • https://github.com/Seneca-CDOT/telescope/pull/3307 (進行中のe 2 e testの修正)
  • https://github.com/Seneca-CDOT/telescope/pull/3239
  • https://github.com/Seneca-CDOT/telescope/pull/3309
  • 全体的にはPRの1つがレビューされた後、それはかなり簡単だったし、私はテンプレートとして使用することができます.

    プロセスステップのうちの1つ


    参考文献
  • イメージバージョンのためには、特定のバージョンにイメージを使用する必要があります
  •  - FROM node:lts as base
     + FROM node:16 as base
    
  • セットアップマルチステージング
  •  + FROM node:16 as base
     + FROM base as dependencies
     + FROM node:16-alpine3.15 as deploy
    
    ベースステージは、パッケージのインストールに必要なツールをインストールするためです.
    依存関係の段階はnodeoundモジュールのインストールです.
    展開段階は、ビルドコンテキストからソースコードをコピーし、依存関係からモジュールを作成し、サービスを実行します.
  • ノードユーザーとしてノードアプリケーションを実行する
  • + COPY --chown=node:node . .
    + USER node
    
    これにより、ノードのユーザーがソースコードを読む許可を得ることができます.
  • ヘルスチェックを加える
  • + ENV PORT
    + HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
    +   CMD wget --no-verbose --tries=1 --spider localhost:${DEPENDENCY_DISCOVERY_PORT}/healthcheck || exit 1
    
    これは私が作った変更です@humphd ノードのアルパイン画像を使用してアプリケーションを構築することに気づいたARMアーキテクチャでは、それを構築することができるように大きなノードイメージを使用する必要があります.See PR 3336