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
단 한 줄의 명령으로 인해 이틀 동안 시간을 보냈다. . .
부디 모두 여러분 조심하세요! !
이상, 「ECS의 태스크 정의로, 컨테이너간 접속의 에러가 일어났을 때의 대처법」이었습니다!
좋으면 LGTM, 코멘트 부탁드립니다.
또, 뭔가 잘못되어 있는 것이 있으면 지적 받을 수 있으면 다행입니다.
그 밖에도 초보자를 위해 기사를 투고하고 있으므로 시간이 있으면 다른 기사도 봐주세요! !
Thank you for reading
Reference
이 문제에 관하여(ECS의 태스크 정의에서 컨테이너 간 연결 오류가 발생했을 때의 조치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akki-memo/items/82cc389cff171c2668f6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)