現在AWS(EC2)にDocker+RailsアプリをGitHubからcloneして
【Rails AWS Docker】既存Ruby on Rails + MySQLアプリをDockerで構築し、AWSにデプロイする(6) - Qiitaを参考に
git pull
してGitHubのデータを反映させてdocker-compose build
を実行する
ことを2~3回ほど繰り返していると、
no space left on device
と表示されEBSを増量させないといけない状態になってしまいます。
EC2上でcloneしてきたプロジェクトのサイズを以下のコマンドで確認したところ26MBであることがわかりました。
$ du -sm webapp/ # 26 webapp/
それにもかかわらずなぜどんどんボリュームが増加し、圧迫され、増量を余儀なくされるのか
原因が全くわかりません(m_ m)
もしわかる方がいらっしゃればご教授いただきますようよろしくお願いいたします(m _m)
動作環境
Rails | AWS |
---|---|
Ruby: 2.7.3 | Amazon linux2 |
Rails: 6.0.3.6 | nginx: 1.16.1 |
Devise: 4.7.3 | EC2、RDS(MySQL) |
dotenv-railsを使用 | |
Docker,docker-composeをEC2上にインストール |
試したこと
no space left on device
とEC2のconsole上で表示されたあとに
《滅びの呪文》Docker Composeで作ったコンテナ、イメージ、ボリューム、ネットワークを一括完全消去する便利コマンド - Qiita
を参考にdocker-compose down --rmi all --volumes --remove-orphans
コマンドをしたが、特に変化がなかった
期待する動作
EBSの増量をできるだけ防ぎたい
該当しそうなコード
Dockerfile(1/2)
Docker
1FROM ruby:2.7.3 2 3ENV APP_DIR /webapp 4ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE yes 5ENV DEBCONF_NOWARNINGS yes 6ENV BUNDLE_DEPLOYMENT true 7ENV BUNDLE_JOBS 1 8ENV BUNDLE_PATH /webapp/vendor/bundle 9ENV BUNDLE_WITHOUT development:test 10ENV LANG C.UTF-8 11ENV MY_BUNDLER_VERSION 2.1.4 12ENV RAILS_ENV production 13RUN mkdir /webapp 14WORKDIR /webapp 15 16RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \ 17 && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ 18 && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ 19 && apt-get update -qq \ 20 && apt-get install -y --no-install-recommends \ 21 build-essential \ 22 libpq-dev \ 23 vim \ 24 nodejs\ 25 yarn 26 27COPY Gemfile Gemfile.lock /webapp/ 28COPY package.json yarn.lock /webapp/ 29RUN gem install bundler --no-document -v 2.1.4 \ 30 && bundle install && yarn install --production --frozen-lockfile \ 31 && yarn cache clean 32 33COPY entrypoint.sh /webapp/ 34RUN chmod 755 /webapp/entrypoint.sh 35ENTRYPOINT [ "entrypoint.sh" ] 36 37COPY . /webapp 38 39 40 41EXPOSE 3000 42CMD ["rails", "server", "-b", "0.0.0.0"]
docker-compose.yml(2/2)
Docker
1version: '3.7' 2 3services: 4 web: 5 build: 6 context: . 7 dockerfile: ./Dockerfile.production 8 command: bundle exec puma -C config/puma.rb -e production 9 environment: 10 RAILS_ENV: production 11 RAILS_SERVE_STATIC_FILES: 'true' 12 networks: 13 - webapp-network 14 volumes: 15 - .:/webapp 16 - public-data:/webapp/public 17 - tmp-data:/webapp/tmp 18 - log-data:/webapp/log 19 - bundle:/webapp/vendor/bundle 20 - node-modules:/webapp/node_modules 21 ports: 22 - "3000:3000" 23 - "3035:3035" 24 nginx: 25 build: 26 context: . 27 dockerfile: ./containers/nginx/Dockerfile 28 volumes: 29 - public-data:/webapp/public 30 - tmp-data:/webapp/tmp 31 networks: 32 - webapp-network 33 ports: 34 - 80:80 35 depends_on: 36 - web 37 38volumes: 39 bundle: 40 driver: local 41 node-modules: 42 driver: local 43 public-data: 44 tmp-data: 45 log-data: 46 47networks: 48 webapp-network: 49 external: true 50
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/25 08:55