[도커] ECS 이미지 업데이트 하기

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Deployment Example</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <main>
    <h1>잘 작동하는중!!</h1>
    <h2>노드 앱 잘 돌아가는 중!!!!!!</h2>
  </main>
</body>
</html>

이러한 정적파일을 기본으로 가지고 있는 node 애플리케이션을 AWS ECS를 이용한 컨테이너로 구성하여 접속하면 

잘 작동하는중!!

노드 앱 잘 돌아가는 중!!!!!!

이렇게 표시가 된다. 그리고

    <h1>This works!</h1>
    <h2>Congratulations, this app seems to run fine!</h2>

이렇게 수정을하고

docker build --platform amd64 -t crowssnest/simple-node .
docker push crowssnest/simple-node

이미지를 빌드한 뒤, 도커 허브에 푸쉬를 한다. 

]

그리고 ECS의 IPv4주소로 들어가서 새로고침을 한 뒤 화면을 확인해보면, 반영이 안되어있는것을 볼 수 있다. 자동으로 백그라운드에서 이미지가 업데이트 될 때 마다 가져오지 않는다는 것이다.


ECS에 이미지 수동으로 업데이트 하기

ECS화면에서 클러스터를 선택한 뒤, default를 클릭한다

 

그리고 작업을 누르고 작업 정의에 들어간다.

 

새 계정 생성을 클릭하여서 새로운 작업을 생성한다.

이전에 구성해놓은 설정이 유지되어있는것을 볼 수 있다. 

그리고 생성을 누른다. 그러면 ECS가 업데이트된 이미지를 자동으로 가져온다. 

새 태스크를 만들어 구동하고, 그 태스크에서 서비스를 사용하면, AWS는 최신 이미지 버전을 사용한다.

태스크가 업데이트 되어서 이 페이지가 표시되면 작업을 눌러서 서비스 업데이트를 눌러준다.

이 화면에서는 건드릴 것 없이 검토로 건너뛰기를 눌러줘도 된다.

그리고 바로 서비스 업데이트를 눌러주면 된다.

이렇게하면 최신 이미지를 가져온 다음 이 태스크에서 서비스를 다시 시작한다.

이 화면에 돌아와서 작업을 보면 모든 태스크가 표시되는데, 새 태스크 개정판도 표시가 되는것을 볼 수 있다. (시간이 조금 필요해서 프로비저닝이나 펜딩상태일수도 있으니 RUNNING 상태가 될 때 까지 기다리자)

새로만든 태스크 아이디를 눌러서 표시된 퍼블릭 IP 주소를 복사하여 주소창에 넣으면

이렇게 아까 빌드할때 바꿨던 것 처럼 영어로 노드 어플리케이션이  잘 돌아간다고 표시되는것을 볼 수 있다. 


새로만든 태스크의 퍼블릭 IP는 기존 태스크의 퍼블릭 IP랑 다르다. 

AWS는 구동되는 모든 새 태스크, 그리고 개정판에 대해 새로운 것을 생성하고 할당하기 때문이다. 

 

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Study/Docker 다른 글

    이전 글

    다음 글