[解決済み】DockerfileのWORKDIRは何のためにあるのか?
2022-04-22 08:24:42
質問
Dockerを勉強しています。何度も
Dockerfile
があります。
WORKDIR
コマンドを使用します。
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 3000
CMD [ “npm”, “start” ]
を省略することはできないのでしょうか?
WORKDIR
と
Copy
を持ち、ただ私の
Dockerfile
をプロジェクトのルートで使用することはできますか?この方法の欠点は何ですか?
どのように解決するのですか?
によると ドキュメント :
WORKDIR命令は、すべてのRUN、CMD, ENTRYPOINT、COPY、ADDの各命令に続く Dockerfileを使用します。もしWORKDIRが存在しなければ、たとえそれ以降のDockerfile命令で使用されていなくても作成されます。
また Dockerのベストプラクティス を使用することを推奨しています。
<ブロッククオート...あなたは、次のような指示を増殖させる代わりに、WORKDIRを使用する必要があります。 RUN cd ... && do-something, which are hard to read, troubleshoot, and which are hard to do-something. メンテナンス
残しておくことをお勧めします。
Dockerfileをリファクタリングして、こんな感じにすればいいと思います。
FROM node:latest
WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . ./
EXPOSE 3000
CMD [ "npm", "start" ]
関連
-
[解決済み] Dockerデーモンが動作していない
-
[解決済み] docker-compose: ラン、エクゼクティブの違い、レイヤーはどうなるのか?
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] DockerfileのCMDとENTRYPOINTの違いは何ですか?
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerfileにコメントを入れるにはどうしたらいいですか?
-
[解決済み】Docker.NETの不具合を修正する方法。パーミッションが拒否される問題
-
[解決済み】docker composeで環境変数を使用する方法
-
[解決済み】docker - コンテナの自動再起動を無効にする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] docker compose でホストネットワークを使用するには?
-
[解決済み] docker-composeでホスト名を設定する方法を教えてください。
-
[解決済み] Dockerはインストールされているのに、Docker Composeがインストールされていないのはなぜですか?
-
[解決済み] dockerでprivate 1.0のレジストリからイメージを検索するには?[クローズド]
-
[解決済み] 既に起動しているDockerコンテナに新しいTTYで入る方法
-
[解決済み】docker-composeで単一のコンテナを再起動する方法
-
[解決済み】docker run <IMAGE> <MULTIPLE COMMANDS> (ドッカーラン)。
-
[解決済み】Dockerfileのif else条件で外部引数を指定した場合
-
[解決済み】アプリケーションのヘルスチェックに/healthzを使用する慣習はどこから来ているのでしょうか?
-
[解決済み】Docker-Compose 永続化データ MySQL