質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

635閲覧

Dockerでホストとの共有ディレクトリにDockerfileで設置したファイルを置いたままにしたい

diseybreez

総合スコア13

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2020/05/26 02:14

windows10上でdockerを使ってnode+typescriptの環境を作っている途中に解決出来ない問題が発生した為質問させて頂きます。

やりたい事

ホストと共有したディレクトリにDockerfileで設置したファイルを置いたままにしたい

詳細

Dockerfileでコンテナの/root/work直下に予め用意しておいたpackage.jsonを設置し、コンテナに入ってnpm install する運用を考えました。

当初は更に/root/work/srcディレクトリを用意し、そこだけをホストと共有、git配下にしようとしました。
※docker-compose.ymlでのディレクトリ共有

つまりnpm installで作られる/root/work/node_modulesは共有対象外となります。

しかし、この環境でvscodeで用いたプログラミングをするとnode_modulesにある型情報を読み込めずvscode上でコード上にwarningが発生します。
※例えばnpm installしたパッケージをimportしようとすると存在しないパッケージだと怒られる

vscodeを実行しているホスト側のディレクトリを見るので当然だと思いますが、では/root/workそのものを共有しようとした時に問題が発生しました。

元々Dockerfileで入れた/root/work/package.jsonが、おそらくディレクトリ共有のタイミングで
(おそらく)ホスト側の共有ディレクトリ(当然この時点では空っぽ)による上書きで全て無くなります。

ディレクトリ共有においてホスト側が優先されるのか、この箇所で完全に詰まってしまいました。

こういう場合、そもそも空のディレクトリを共有するところまでをDocker(compose)で行い、
npm周りは各自コンテナログイン→git等でpackage.jsonを取り込み→npm installというのが一般的なのでしょうか。

皆様の場合どのように対応しているのか、お力をお貸し頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

共有ディレクトリには後でファイルをセットするようにします

投稿2020/05/30 02:13

diseybreez

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問