[DockerCompose]Error: "failed to create task for container: Unavailable: error reading from server

2024. 10. 27. 21:56·트러블슈팅

블루 컨테이너가 동작 중일 때 도커 컴포즈를 이용하여 그린 컨테이너를 만들고, 실행시키는 명령어를 입력했다.

도커 컴포즈 명령어는 잘먹혔는데, 문제는 컨테이너가 Created 상태에서 도무지 Up 상태로 변경되지 않는다는 것이었다. 이와 더불어, EC2 접속이 안되는 문제가 발생했다. 즉 먹통이 됐다!

 

TRY 1: 로그... 로그를 보자

 docker logs spring-green

Up이 되지 못하는 비운의 컨테이너의 이름은 spring-green이었다. 그런데 컨테이너 로그가 아무것도 안보였다. 쩝

그래서 도커 데몬 로그도 보고, 괜히 spring-blue나 aws 관련 로그를 뒤적거려봤는데 이상이 없었다.

 일단 다른 것들을 먼저 확인해보기 시작했다.

 

TRY 2: 네트워크를 보자

뮤넥팅 서버는 레디스를 인증/인가 과정에서 사용하고 있었기 때문에 레디스를 컨테이너로 띄워서 이것을 사용하고 있었다. 따라서 munecting-network 라는 도커 네트워크를 만들고, 해당 네트워크에 레디스 서버와 뮤넥팅 서버를 위치시켰다. 그러므로 처음에는 도커 네트워크 상에 문제가 발생했나 싶었지만, 네트워크 연결에는 전-혀 이상이 없었다.

 

TRY 3: 로그...로그를 보자

그렇다 나는 연어이다 수미상관 구조를 좋아한다

컨테이너 로그로는 더 이상 유의미한 정보를 얻을 수 없었다. 그치만, but, by the way, 나는 도커 컴포즈를 이용해서 컨테이너를 구동시켰으니 도커 컴포즈 로그가 남아있지 않을까?

docker-compose logs spring-green
"State": {
            "Status": "created",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 128,
            "Error": "failed to create task for container: Unavailable: error reading from server: EOF: unavailable",
            "StartedAt": "0001-01-01T00:00:00Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },

 

 

고맙다 고마워

gpt에게 물어보니 1. Docker 데몬 또는 2. 시스템 자원 부족이 원인일 수 있다고 한다. 

 

도커 데몬에는 문제가 없음을 확인하였기 때문에, 시스템 자원 부족...을 드디어 의심하기 시작했다. ㅜ

현재 AWS 프리티어를 이용 중이기 때문에 t3.micro 인스턴스를 사용하고 있었는데, 이 친구 RAM이 1GB란다.

 

메모리 사용량을 확인해봤다.

               total        used        free      shared  buff/cache   available
Mem:           914Mi       453Mi       422Mi       2.7Mi       188Mi       460Mi
Swap:             0B          0B          0B

메모리 부족이 원인이 맞겠구나 싶었다. 구글링 결과 다음 포스트를 발견했다.

https://sundries-in-myidea.tistory.com/102

 

AWS EC2 프리티어에서 메모리 부족현상 해결방법

AWS free tier를 사용하다보면 2%가 부족할 때가 있다. AWS 프리티어는 가난한 대학생에게는 한줄기 빛과 같은 존재인데, AWS의 프리티어라서 적게 돈이 나가는 것도 좋고, 실제로 이것저것 해볼 수 있

sundries-in-myidea.tistory.com

스왑 메모리를 이용해서 문제를 해결한다.

 

해당 포스트에서 소개하는 방법대로, 스왑 파일을 이용했다. 

이후 다시 블루 컨테이너가 구동 중인 상태에서 그린 컨테이너를 구동시켜보았고, 문제 없이 Up상태로 변경되는 것을 확인할 수 있었다. (물론 그 반대도 가능)

 

에러 해결 완료!

 

 

 

 

 

 

 

 

 

'트러블슈팅' 카테고리의 다른 글

REQUIRES_NEW로 인한 DB 커넥션 리소스 고갈  (0) 2025.01.23
testImplementation 'org.testcontainers:rabbitmq:1.20.4' 2 vulnerabilities found in dependency  (0) 2025.01.01
[Redis Error] Unable to send PING command over channel  (0) 2024.10.22
springboot Could not move temporary workspace 오류  (0) 2024.05.01
org.hibernate.sql 미작동  (0) 2024.01.09
'트러블슈팅' 카테고리의 다른 글
  • REQUIRES_NEW로 인한 DB 커넥션 리소스 고갈
  • testImplementation 'org.testcontainers:rabbitmq:1.20.4' 2 vulnerabilities found in dependency
  • [Redis Error] Unable to send PING command over channel
  • springboot Could not move temporary workspace 오류
용쓰개
용쓰개
  • 용쓰개
    용쓰게
    용쓰개
  • 전체
    오늘
    어제
    • 분류 전체보기 (34)
      • Spring (11)
        • 스프링 Data JPA (0)
        • 스프링 시큐리티 (1)
        • QueryDSL (1)
        • webflux (1)
      • JAVA (5)
      • 여러가지 모르는 지식들 (6)
      • 알고리즘 (0)
      • 후기 (0)
        • 일상 (1)
        • 책 (1)
      • 운영체제 (1)
      • 트러블슈팅 (9)
      • 프로젝트 (0)
        • 펫동네 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
용쓰개
[DockerCompose]Error: "failed to create task for container: Unavailable: error reading from server
상단으로

티스토리툴바