前提・実現したいこと
Docker上で作成したRuby on RailsアプリをHerokuにデプロイしてます。
一度、heroku container:push web
でデプロイしました。
次に、フィルの一部を変更・追加した後、改めて、heroku container:push web
をしても、その変更・追加が反映されません。
特に
Dockerfile
1COPY SRC/ /home/SRC/
のように、SRCディレクトリ内のファイルを追加したり変更しても、コピーされません。
もちろん、ローカルは問題ありませんし、heroku container:push web
中のログを見てもキャッシュを使用している ---> Using cache
も出現しません。
しかも、Heroku上では謎のファイルSRC/.wh..wh..opq
が作成されます。
SRCディレクトリの内容(フラットではなく階層になっている)を正しく、コピーする(キャッシュを使わない?)方法を教えてください。
(現状ではとりあえず、Herokuアプリを削除して、改めて新規作成した上で、デプロイするということをしてますが、それが通常とは考えにくいので質問しました)
該当のソースコード
Dockerfile
1FROM ruby:2.6-alpine 2 3ENV LC_ALL=ja_JP.UTF-8 \ 4 LANG=ja_JP.UTF-8 \ 5 LC_TIME=ja_JP.UTF-8 \ 6 TZ=Asia/Tokyo 7 8WORKDIR /home 9COPY Gemfile /home/ 10COPY SRC/ /home/SRC/ 11COPY SRC/package.json /home/package.json 12 13# INSTALL SQLITE AND OTHER LIBRARY 14RUN set -x && apk --no-cache update && apk --no-cache upgrade &&\ 15 apk --no-cache --update add \ 16 python \ 17 nodejs \ 18 yarn \ 19 tzdata \ 20 git &&\ 21 apk add --no-cache --update --virtual=build-dependencies \ 22 postgresql-dev \ 23 libc-dev \ 24 libxml2-dev \ 25 libxslt-dev \ 26 linux-headers \ 27 ruby-dev \ 28 zlib-dev \ 29 yaml-dev \ 30 build-base &&\ 31 cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime &&\ 32 yarn install &&\ 33 echo -e "install: --no-document\nupdate: --no-document" >> /root/.gemrc &&\ 34 bundle config force_ruby_platform true &&\ 35 bundle install 36RUN sh SRC/setup.sh 37CMD ["rails", "server", "-b", "0.0.0.0"]
試したこと
find SRC -exec touch {} \;
で日付を最新に変えてもみました
補足情報(FW/ツールのバージョンなど)
$ docker --version
Docker version 19.03.5, build 633a0ea
$ heroku --version
heroku/7.37.0 darwin-x64 node-v12.13.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。