LoginSignup
1
0

More than 3 years have passed since last update.

ECSのタスク定義で、コンテナ間接続のエラーが起きた時の対処法

Posted at

ECRにプッシュしたDockerのコンテナをECSでタスク定義を行い、いざタスクの実行を行うとステータスがSTOPPEDとなる。

何十回やっても以下のようなエラーが起きる。

Cannot link to a non running container

ちなみにコンテナの設定は以下のようになっている。

docker-compose.yml
version: "3.8"
services:
  app:
    build:
      context: .
      dockerfile: ./docker/php/Dockerfile
      args:
        - TZ=${TZ:-Asia/Tokyo}
    ports:
      - ${APP_PORT:-8000}:8000
    volumes:
      - ./backend:/work
      - ./logs:/var/log/php
      - ./docker/php/php.ini:/usr/local/etc/php/php.ini
    working_dir: /work
    environment:
      - DB_CONNECTION=mysql
      - DB_HOST=db
      - DB_DATABASE=${DB_NAME:-***}
      - DB_USERNAME=${DB_USER:-***}
      - DB_PASSWORD=${DB_PASS:-***}
      - TZ=${TZ:-Asia/Tokyo}
  web:
    build:
      context: .
      dockerfile: ./docker/nginx/Dockerfile
    depends_on:
      - app
    ports:
      - ${WEB_PORT:-80}:80
    volumes:
      - ./backend:/work
      - ./logs:/var/log/nginx
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
    environment:
      - TZ=${TZ:-Asia/Tokyo}
  db:
    image: mysql:8.0
    volumes:
      - db-store:/var/lib/mysql
      - ./logs:/var/log/mysql
      - ./docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
    environment:
      - MYSQL_DATABASE=${DB_NAME:-***}
      - MYSQL_USER=${DB_USER:-***}
      - MYSQL_PASSWORD=${DB_PASS:-***}
      - MYSQL_ROOT_PASSWORD=${DB_PASS:-***}
      - TZ=${TZ:-Asia/Tokyo}
    ports:
      - ${DB_PORT:-13306}:3306
volumes:
  db-store:
├─backend
│  ├─laravel
├─docker
│  ├─mysql
│  ├─nginx
│  └─php
│─docker-compose.yml

appコンテナとwebコンテナを接続するという内容です。

backend\laravelにはLaravelのプロジェクトが入っています。

タスク定義の設定を変更したり、クラスターの設定をいくら変更してもこのエラーが吐かれる!!!

こうゆうエラーが一番厄介。。。

ただ、およそ2日間かけてこのエラーの解消法が分かった。

原因は「タスク定義」の際に行う「コンテナの追加」。

appコンテナを追加するするときに「環境」で以下のコマンドを追加する。

chmod 777 -R && php-fpm

image.png

たった一行のコマンドのせいで2日間時間を費やした。。。

くれぐれも皆さん気を付けください!!

以上、「ECSのタスク定義で、コンテナ間接続のエラーが起きた時の対処法」でした!

良ければ、LGTM、コメントお願いします。

また、何か間違っていることがあればご指摘頂けると幸いです。

他にも初心者さん向けに記事を投稿しているので、時間があれば他の記事も見て下さい!!

Thank you for reading

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0