😺

手順書にあるコマンドを理解して使っているのかい

2024/06/13に公開

最初に

そんなことも知らずにコマンド実行してたのか、って言う人はさようなら🛌ばいばい

学んだこと

  • コマンド

    • docker run --rm -t -w /app -v $(pwd):/app node:20-alpine sh -c 'apk update && apk upgrade --no-cache && npm install -g npm@latest && npm install'
  • ひとつずつ見ていく

    • runコマンド
      • コンテナ実行
      • rmオプション
        • コンテナ終了時にコンテナ自動的に削除
        • ないとコンテナが乱立する
      • tオプション
        • tty ( 端末デバイス )の意味
      • wオプション
        • 作業ディレクトリを指定
      • vオプション
        • 現在の作業ディレクトリをコンテナ内にマウント
    • pwd
      • カレントディレクトリの表示
      • print working directory の略、これ何回聞いても忘れる
    • shコマンド
      • cオプション
        • 文字列を渡せる(シングルクオートで渡す必要あり)
    • node:20-alpine
      • node20のdockerイメージ
      • Alpine Linuxをもとに作られているイメージ、超軽量
    • apk
      • Alpine Linuxのパッケージマネージャ
      • apk update
        • 利用可能パッケージのインデックスを更新
      • apk upgrade
        • 現在インストールされているパッケージをアップグレード
    • npm install
      • gオプション
        • グローバルインストール
        • ディレクトリにパスが通るようになり、どこからでもコマンドが呼び出せるようになる
  • つまり以下をしている?(間違ってたら誰か教えてください)

    • 現在のディレクトリをnode:20-alpineのイメージにマウント
    • node:20-alpineにインストールされているパッケージを更新
    • npmを最新にアップグレード
    • package.jsonに書かれているモジュールをインストール
  • なぜnpm installが2回あるのか?

    • npm install -g npm@latest でnpmの最新化
    • 最後のnpm installでpackage.jsonに書かれているモジュールをインストール

いましめ

手順書に甘えずちゃんと理解して使え

参考

Discussion