HerokuでDockerを導入していたらError: Exec format errorでアプリが表示できなくなりました
環境
ruby 2.6.5
rails 6
MySQL
M1チップ搭載macOS
解決したいこと
HerokuでDockerを導入していたらError: Exec format errorでアプリが表示できなくなりました
表示させるにはどうした良いでしょうか?
発生までの流れ
heroku container:push web -a <アプリ名>
heroku container:release web <アプリ名>
heroku run rails db:migrate
ここで下記エラーが起こりました。
発生している問題・エラー
ターミナル
Error: Exec format error
その他のエラー
その後、heroku run rails c
でも上記エラー
git push heroku masterを実行したらerror: failed to push some refs toのエラーが発生しております
heroku logs
該当するソースコード
Dockerfile
FROM ruby:2.6.5
RUN apt-get update && apt-get install -y curl apt-transport-https wget && \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
apt-get update && apt-get install -y yarn
RUN apt-get update -qq && apt-get install -y nodejs yarn
RUN mkdir /fridge_app
WORKDIR /fridge_app
COPY Gemfile Gemfile.lock /fridge_app/
ENV BUNDLER_VERSION 2.1.4
RUN gem update --system \
&& gem install bundler -v $BUNDLER_VERSION \
&& bundle install -j 4
COPY . /fridge_app
RUN yarn install --check-files
RUN bundle exec rails webpacker:install
ENV PATH $PATH:/usr/local/src/bin
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.6
platform: linux/amd64
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: root
ports:
- "3306:3306"
volumes:
- ./tmp/db:/var/lib/mysql
web:
build: .
environment:
region: ap-northeast-1
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
volumes:
- .:/fridge_app
ports:
- "3000:3000"
depends_on:
- db
0