実現したいこと
Docker runで動かしたい
前提
MENTA(契約終了)の教材をやっています。
発生している問題・エラーメッセージ
[error] 8#8: *1 connect() failed (111: Connection refused) while connecting to upstream, client: X.X.X.X, server: api.judging-cats.com, request: "GET /health_check HTTP/1.1", upstream: "http://127.0.0.1:3000/health_check", host: "X.X.X.X"
エラーメッセージ
該当のソースコード
https://github.com/yon-s/cat-img-backend
Dockerfileはprdディレクトリにあります。
前回デプロイ成功した時のprdファイルでもやってみましたがダメでした。
試したこと
AWSのECS サービスの作成をするとエラーがでます
◽️手順
1.Dockeイメージの作成
2.ECRにpush
3.ECS サービス作成
ロードバランサーやセキュリティグループの設定も行っています。
AWSの環境が問題なのか?手元のコードが問題なのか?という問題の切り分けのためローカルでDockerイメージ実行
railsイメージの実行
% docker run -p 4000:3000 rails docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES % docker logs railsのコンテナ %
nginxイメージの実行
% docker run -p 4000:3000 nginx (何も起こらず応答まち)
別のターミナル起動
% docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4e48be288c0b nginx "/docker-entrypoint.…" 4 minutes ago Up 4 minutes 80/tcp, 0.0.0.0:4000->3000/tcp wonderful_germain %docker logs 4e48be288c0b %
でした。
両方ともhttp://localhost:4000/ もなにも表示されません
unicorn.rbやprdを前回デプロイ成功したときのアプリのものをコピペもしました
bundle exec unicorn -p 3000 -c config/unicorn.rb -E productionで
http://localhost:3000/ 表示されました。
補足情報(FW/ツールのバージョンなど)
MENTAから
そもそもローカルで実行するのとAWSで実行するのは差分が大きすぎるので、再度設定を戻してみたりしてAWS上で色々試した方が良いと思っています
Dockerfileを確認するとproductionと設定しているのでそこと差分があると思います。また、Nginxと併用する想定なのでそこも原因かもしれません。
localで動かすための設定ではない、production設定になっているため動いていない可能性がある
AWSとDocker、nginxRails初心者です
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。