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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Docker

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

740閲覧

Docker + Django構成でHerokuへのデプロイに失敗する

tkinjo1985

総合スコア2

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Docker

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/01 03:05

前提・実現したいこと

Docker + DjangoでWebアプリを作成しHerokuへのデプロイを試しています。
localでは問題なく動いていますが、herokuへデプロイを行うとエラーなってしまいます。

tetratailやstackoverflowに同じエラー情報がありました。
Heroku deployment error: The requested API endpoint was not found

上記を見るとHeroku側の問題(登録アカウントにクレジットカード情報を紐付けていないため発生している)のようですがすでに解決ずみとなっています。

発生している問題・エラーメッセージ

▸ The requested API endpoint was not found. Are you using the right HTTP ▸ verb (i.e. `GET` vs. `POST`), and did you specify your intended version ▸ with the `Accept` header?

該当のソースコード

travis-ciを使ってテスト完了後にデプロイが走るようにしています。

.travis.yml

travis.yml

1sudo: required 2 3language: python 4 5services: docker 6 7before_install: 8 - docker-compose -f docker-compose.yml up --build -d 9 - docker login -u "$HEROKU_USERNAME" -p "$HEROKU_API_KEY" registry.heroku.com 10 11script: 12 - docker-compose -f docker-compose.yml exec web python manage.py test 13 14deploy: 15 provider: script 16 skip_cleanup: true 17 script: 18 docker build -t registry.heroku.com/$HEROKU_APP_NAME/web -f Dockerfile .; 19 docker push registry.heroku.com/$HEROKU_APP_NAME/web; 20 heroku run --app registry.heroku.com/$HEROKU_APP_NAME/web python manage.py migrate 21 on: 22 branch: master 23

Dockerfile

Dockerfile

1# pythonの最新版をベースに使用 2FROM python:latest 3 4# 作業ディレクトリ作成 5WORKDIR /workdir 6 7# パッケージ情報の更新とsudoのインストール 8RUN apt-get update && apt-get install -y sudo 9 10# pipをアップグレード 11RUN pip install --upgrade pip 12 13COPY requirements.txt /workdir 14RUN pip install -r requirements.txt 15

試したこと

1、アカウントにクレジットカード情報を登録してデプロイ: デプロイ失敗

2、travis-ciを経由せず直接DockerImageをpush: デプロイ失敗

3、Djangoのソース単体でのデプロイ: 問題なくデプロイ成功

deploy: provider: script skip_cleanup: true script: heroku login; heroku git:remote --app $HEROKU_APP_NAME; git push heroku master; heroku run python manage.py migrate; on: branch: master

上記のことからDockerの設定、もしくはHerokuの設定に起因するものと予想していますが
解決の糸口が見つけられません。

何しかしたらの情報をお持ちの方がいらっしゃいましたらご教授ください。

補足情報(FW/ツールのバージョンなど)

python: 3.8.3
Django: 3

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

docker buildを使ってImageをビルドするのではなく、heroku container:pushでImageのビルドとHerokuへのプッシュを行うことで問題が解決しました。

投稿2020/07/09 01:34

tkinjo1985

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問