質問編集履歴

3 文章の修正

teilmari

teilmari score 7

2019/08/11 05:01  投稿

Dockerで、共通フォルダ(-v)を作る場合でのみ生じる問題に困っています。
お世話になります。
Windows 10 Home
Visual Studio Code (PowerShell)
Docker ToolBox (DockerToolbox-18.09.0)
を使用しております。
ReactをDockerで使用するのに、
ホスト(Windows10)とゲスト(alpine)間で、上手く共通フォルダとDockerが動作せず困っています・・・。
ホスト(Windows10)とゲスト(alpine)間で、共通フォルダとDockerが上手く動作せず困っています・・・。
共通フォルダを作らない(-vを使用しない)場合ですと、Dockerは問題なく動作します。
ホスト側(Windows10)のブラウザのlocalhostからも問題なくReact Appが表示されます。
しかし、docker run 時に -v コマンドにより、
ホストとゲストで共通フォルダ(docker-common)を作成すると失敗してしまいます。
ゲスト内からのcreate-react-app test1 コマンドより、
ホストのWindows10のdocker-commonフォルダに
test1というフォルダが最初は作られるのですが、
create-react-appでのフォルダ作成中にエラーが起き、test1も削除されてしまいます。
ホスト(Windows10)のdocker-commonフォルダに
test1というディレクトリが最初は作られるのですが、
create-react-appが進むにつれ途中でnpmにエラーが起き、
test1ディレクトリがホストのdocker-commonフォルダからも削除されてしまいます。
詳細は以下になります。
Dockerfileに
```ここに言語を入力
FROM alpine
ENV wkdir docker-common
WORKDIR /usr/app/$wkdir
RUN apk add nodejs
RUN apk add npm
RUN npm i -g create-react-app
ENTRYPOINT sh
```
を記述し、
```ここに言語を入力
docker build -t react-01 .
```
よりreact-01というImageを作成し、
```ここに言語を入力
docker run -it --name my-app-1 -p 3000:3000
-v //d/programming/docker/docker-common:/usr/app/docker-common react-01
```
というrunコマンドでmy-app-01という名のコンテナを作成しました。
Dockerfileよりすでにnpmもcreate-react-appも作られているので、
create-react-app test1 と入力し、
test1という名のReactディレクトリを作成したいのですが・・・以下のエラーが表示され叶いません。
```ここに言語を入力
#dockerを作成
#Dockerfileよりコンテナを作成
PS D:\programming\docker\dockerfiles> docker run -it --name my-app-1 -p 3000:3000 -v //d/programming/docker/docker-common:/usr/app/docker-common react-01 
#dockerが作成されその中に入る
#コンテナが作成されその中に自動で入る
#create-react-app test1 と打ち、test1というReactディレクトリをnpmより作成
/usr/app/docker-common # create-react-app test1
#create-react-app test1 と打ち、test1というReactディレクトリをnpmより作成  
Creating a new React app in /usr/app/docker-common/test1.
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...
#しかし、ここで突然エラーが・・・
npm ERR! path /usr/app/docker-common/test1/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/app/docker-common/test1/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR!    /root/.npm/_logs/2019-08-10T19_09_04_454Z-debug.log
Aborting installation.
 npm install --save --save-exact --loglevel error react react-dom react-scripts has failed.
npm install --save --save-exact --loglevel error react react-dom react-scripts has failed.
Deleting generated file... node_modules
Deleting generated file... package.json
Deleting test1/ from /usr/app/docker-common
Done.
#失敗に終わる
/usr/app/docker-common #
```
最初にも申し上げた様に、共通フォルダを作らない(-vを使用しない)場合ですと、
create-react-appにはこのエラーは起きずReact Appが作成されます。
create-react-appコマンドではなく、mkdirコマンドで適当なディレクトリを作る分には、
ちゃんと作成されホストのdocker-common内にもmkdirフォルダ(ディレクトリ)は表示されます。
npmもnode.jsも最新版にアップデートをしても同じでした。
長くなってしまい申し訳ありません。
心当たりのある方がもしいらしたら、どうぞ宜しくお願い致します。
ここまでお読みいただきありがとうございました。
  • Docker

    1616 questions

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

  • Windows 10

    1888 questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

2 文章の修正

teilmari

teilmari score 7

2019/08/11 04:52  投稿

Dockerで、共通フォルダ(-v)を作る場合でのみ生じる問題に困っています。
お世話になります。
Windows 10 Home
Visual Studio Code (PowerShell)  
Docker ToolBox (DockerToolbox-18.09.0)
を使用しております。
ReactをDockerで使用するのに、
ホスト(Windows10)とゲスト(alpine)間で上手く共通フォルダとDockerが動作せず困っています・・・。
ホスト(Windows10)とゲスト(alpine)間で上手く共通フォルダとDockerが動作せず困っています・・・。
共通フォルダを作らない(-vを使用しない)場合ですと、Dockerは問題なく動作します。
具体的には、作成したコンテナのalpine内でcreate-react-app test1 を打ち、
Reactディレクトリが作成され、
ホスト側(Windows10)のブラウザのlocalhostからも問題なくReact Appが表示されます。
しかし、docker run 時に -v コマンドにより、
ホストとゲストで共通フォルダ(docker-common)を作成すると失敗してしまいます。
ゲスト内からのcreate-react-app test1 コマンドより、
ホストのWindows10のdocker-commonフォルダに
test1というフォルダが最初は作られるのですが、
create-react-appでのフォルダ作成中にエラーが起き、test1も削除されてしまいます。
詳細は以下になります。
Dockerfileに
```ここに言語を入力
FROM alpine
ENV wkdir docker-common
WORKDIR /usr/app/$wkdir
RUN apk add nodejs
RUN apk add npm
RUN npm i -g create-react-app
ENTRYPOINT sh
```
を記述し、
```ここに言語を入力
docker build -t react-01 .
```
よりreact-01というImageを作成し、
```ここに言語を入力
docker run -it --name my-app-1 -p 3000:3000
-v //d/programming/docker/docker-common:/usr/app/docker-common react-01
```
というrunコマンドでmy-app-01という名のコンテナを作成しました。
Dockerfileよりすでにnpmもcreate-react-appも作られているので、
create-react-app test1 と入力し、
test1という名のReactディレクトリを作成したいのですが・・・以下のエラーが表示され叶いません。
```ここに言語を入力
#dockerを作成
PS D:\programming\docker\dockerfiles> docker run -it --name my-app-1 -p 3000:3000 -v //d/programming/docker/docker-common:/usr/app/docker-common react-01 
#dockerが作成されその中に入る
/usr/app/docker-common # create-react-app test1
#create-react-app test1 と打ち、test1というReactディレクトリをnpmより作成
Creating a new React app in /usr/app/docker-common/test1.
#ホスト(windows10)のdocker-commonフォルダ内にtest1フォルダを確認
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...
#しかし、ここで突然エラーが・・・
npm ERR! path /usr/app/docker-common/test1/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/app/docker-common/test1/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR!    /root/.npm/_logs/2019-08-10T19_09_04_454Z-debug.log
Aborting installation.
 npm install --save --save-exact --loglevel error react react-dom react-scripts has failed.
#ホスト(Windows10)のdocker-common内に作られていたtest1フォルダが削除されてしまう
Deleting generated file... node_modules
Deleting generated file... package.json
Deleting test1/ from /usr/app/docker-common
Done.
#失敗に終わる
/usr/app/docker-common #
```
最初にも申し上げた様に、共通フォルダを作らない(-vを使用しない)場合ですと、
create-react-appにはこのエラーは起きずReact Appが作成されます。
create-react-appコマンドではなく、mkdirコマンドで適当なディレクトリを作る分には、
ちゃんと作成されホストのdocker-common内にもmkdirフォルダ(ディレクトリ)は表示されます。
npmもnode.jsも最新版にアップデートをしても同じでした。
長くなってしまい申し訳ありません。
心当たりのある方がもしいらしたら、どうぞ宜しくお願い致します。
ここまでお読みいただきありがとうございました。
  • Docker

    1616 questions

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

  • Windows 10

    1888 questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

1 文章の修正

teilmari

teilmari score 7

2019/08/11 04:50  投稿

Dockerで、共通フォルダ(-v)を作る場合でのみ生じる問題に困っています。
お世話になります。
Windows 10 Home
Docker ToolBox (DockerToolbox-18.09.0)
を使用しております。
ReactをDockerで使用するのに、
共通フォルダを作らない(-vを使用しない)場合ですと、問題なく動作します。
共通フォルダを作らない(-vを使用しない)場合ですと、Dockerは問題なく動作します。
具体的には、作成したコンテナのalpine内でcreate-react-app test1 を打ち、
Reactディレクトリが作成され、
ホスト側(Windows10)のブラウザのlocalhostからも問題なくReact Appが表示されます。
しかし、docker run 時に -v コマンドにより、
ホストとゲストで共通フォルダ(docker-common)を作成すると失敗してしまいます。
ゲスト内からのcreate-react-app test1 コマンドより、
ホストのWindows10のdocker-commonフォルダに
test1というフォルダが最初は作られるのですが、
create-react-appでのフォルダ作成中にエラーが起き、test1も削除されてしまいます。
詳細は以下になります。
Dockerfileに
```ここに言語を入力
FROM alpine
ENV wkdir docker-common
WORKDIR /usr/app/$wkdir
RUN apk add nodejs
RUN apk add npm
RUN npm i -g create-react-app
ENTRYPOINT sh
```
を記述し、
```ここに言語を入力
docker build -t react-01 .
```
よりreact-01というImageを作成し、
```ここに言語を入力
docker run -it --name my-app-1 -p 3000:3000
-v //d/programming/docker/docker-common:/usr/app/docker-common react-01
```
というrunコマンドでmy-app-01という名のコンテナを作成しました。
Dockerfileよりすでにnpmもcreate-react-appも作られているので、
create-react-app test1 と入力し、
test1という名のReactディレクトリを作成したいのですが・・・以下のエラーが表示され叶いません。
```ここに言語を入力
#dockerを作成
PS D:\programming\docker\dockerfiles> docker run -it --name my-app-1 -p 3000:3000 -v //d/programming/docker/docker-common:/usr/app/docker-common react-01 
#dockerが作成されその中に入る
/usr/app/docker-common # create-react-app test1
#create-react-app test1 と打ち、test1というReactディレクトリをnpmより作成
Creating a new React app in /usr/app/docker-common/test1.
#ホスト(windows10)のdocker-commonフォルダ内にtest1フォルダを確認
Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts...
#しかし、ここで突然エラーが・・・
npm ERR! path /usr/app/docker-common/test1/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/app/docker-common/test1/node_modules/@hapi/topo/node_modules/@hapi/hoek/package.json.769352676'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR!    /root/.npm/_logs/2019-08-10T19_09_04_454Z-debug.log
Aborting installation.
 npm install --save --save-exact --loglevel error react react-dom react-scripts has failed.
#ホスト(Windows10)のdocker-common内に作られていたtest1フォルダが削除されてしまう
Deleting generated file... node_modules
Deleting generated file... package.json
Deleting test1/ from /usr/app/docker-common
Done.
#失敗に終わる
/usr/app/docker-common #
```
最初にも申し上げた様に、共通フォルダを作らない(-vを使用しない)場合ですと、
create-react-appにはこのエラーは起きずReact Appが作成されます。
create-react-appコマンドではなく、mkdirコマンドで適当なディレクトリを作る分には、
ちゃんと作成されホストのdocker-common内にもmkdirフォルダ(ディレクトリ)は表示されます。
npmもnode.jsも最新版にアップデートをしても同じでした。
長くなってしまい申し訳ありません。
心当たりのある方がもしいらしたら、どうぞ宜しくお願い致します。
ここまでお読みいただきありがとうございました。
  • Docker

    1616 questions

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

  • Windows 10

    1888 questions

    Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る