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

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

ただいまの
回答率

87.49%

ローカルでの変更がDockerのコンテナに反映されない

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 3,313

score 9

問題

Dockerfileからイメージをbuildし、コンテナを立てる。
その後、ファイルをローカルで変更し、Dockerのコンテナ内からvimで見ると変更が反映されない。

状況

DockerでNuxtを触ろうとしている。

Dockerfile

FROM node:10.14.1-alpine

ENV LANG C.UTF-8
ENV TZ Asia/Tokyo

WORKDIR /app

RUN apk update && \
  npm install -g npm @vue/cli@4.3.1 && \
  npm install -g create-nuxt-app@2.15.0 && \
  npm install -g firebase-tools@8.4.1

ENV HOST 0.0.0.0

CMD ["/bin/ash"]

行ったコマンド

docker build -t nuxt_env .
docker run -v `pwd`:/app -p 3000:3000 -p 5000:5000 --name nuxt -it -d nuxt_env
docker start nuxt

ディレクトリ構造

説明のために簡素化しております。

├─ top.txt
├─ src (以下にNuxtファイル)
├─ Dockerfile
└─ children
└─ child.txt

環境

このDockerfileやNuxtファイルは別のPC(PC<B>)で作成したものです。作成したPC(PC<A>)ではうまくいきましたが、Githubからcloneして実行したPCでは上記問題が発生しました。
また、docker-composeは利用しておりません。

問題の詳細

top.txtでの変更はDockerコンテナ内でも反映されますが、childrenディレクトリ内のchild.txtのような、ルートディレクトリより下層のディレクトリにあるファイルの変更は反映されない状況です。
変更反映の確認はvimで行いました。
また、PC<A>では時刻がJSTになっておりましたが、PC<B>ではUTCでした。

宜しくお願い致します。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

こんにちは
起動時のコマンドで、カレントディレクトリを/appにバインドしているように見えるのですが、起動コマンドはプロジェクトフォルダ内でうっていますか?(もし違うとすれば、appには違うディレクトリがバインドされているのかなと...)

該当コンテナのappディレクトリの中身は正しいかを確認していただけると嬉しいです(こちらは追記に書くべきでしたかね)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/10/23 11:57

    プロジェクトフォルダ内で打っております。

    完全に解決に至ったわけではないのですが、コンテナ内でdateを確認したところUTCになっており、タイムゾーンの設定がうまくいっていないのかなと思い、Dockerfileのタイムゾーンを指定している行

    ```Dockerfile
    ENV TZ Asia/Tokyo
    ```

    を最後に回したところ、上記問題は解決されました。
    この行が誤っていることが根っこの原因な気がしますが、正しいタイムゾーンの指定方法がイマイチわからずに今に至ります。

    Dockerflieはこちらを参考にしました。
    https://qiita.com/reflet/items/e7c33f84ab43ab237ee4#dockerfile%E4%BD%9C%E6%88%90

    キャンセル

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

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る