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

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

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

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Django

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

Docker

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

0回答

1711閲覧

CodeDeploy中のdocker-compose runの実行が終わらない

退会済みユーザー

退会済みユーザー

総合スコア0

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Django

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

Docker

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

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/08/10 20:12

お世話になります。

困っていること

CodeDeployのAfterInstallにてdocker-compose runの実行が終わらず、タイムアウトまで実効し続け、デプロイが成功しない

前提

EC2(Djangoサーバー)にdockerとdocer-composeを入れ、GithubからのソースをCodeDeployで送っています。
appspec.ymlは下記のようにしており、BeforeInstall->Install(コードの取得)->AfterInstallで回しています。
after.sh内のpython manage.py migrateしている箇所の実行が終わらないことまでは把握しておりますが、失敗のログが出ないままで何が原因なのかわかりません。
尚、migrateはRDSに対して行われます。

  • appspec.yml

yml

1version: 0.0 2os: linux 3files: 4 - source: / 5 destination: /home/ec2-user/hoge_server 6hooks: 7 BeforeInstall: 8 - location: scripts/before.sh 9 timeout: 300 10 runas: ec2-user 11 AfterInstall: 12 - location: scripts/after.sh 13 timeout: 900 14 runas: ec2-user
  • after.sh

bash

1#!/bin/bash 2cd /home/ec2-user/hoge_server 3 4/usr/local/bin/docker-compose build 5/usr/local/bin/docker-compose run --rm web python manage.py migrate 6/usr/local/bin/docker-compose up -d

タイムアウトの際のログは下記です。
done以降何も出ず、起動したコンテナは終了したものとして残ります。

[stderr]Creating network "hoge_server_default" with the default driver [stderr]Creating hoge_server_web_run ... [stderr]Creating hoge_server_web_run ... done

確認したこと

  • EC2にsshし同様のコマンドを実行したところ問題なくdocker-compose runコマンドは通ります
  • python manage.py migrateでなく、python manage.py showmigrationsにしても同様なので、migrateの問題ではなさそうです
  • 終了したコンテナを立ち上げてコンテナに入って同様のコマンドを実行しても特にエラーが出ず、migrateやshowmigrationsは実行可能
  • インスタンス・dockerエンジンの再起動実施済
  • df・freeコマンドでストレージとメモリは十分に確保されていることを確認
  • docker logsでも何も出ない
  • ymlのrunasをrootにしても同様
  • docker-compose runの部分を削除するとデプロイは成功する

バージョン

  • Docker version 20.10.4,
  • docker-compose version 1.29.2
  • python:3.7.10

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問