ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • docker : step 2) Application 업데이트 하기
    Full-Stack 2023. 6. 3. 14:40
    반응형
    SMALL

    docker : step 1)에서 만든 container화된 application을 수정해보겠습니다.

     

    소스 코드 수정하기

    1. src/static/js/app.js를 열고 56번째 줄을 다음과 같이 수정해 보겠습니다.

    ...
     -                <p className="text-center">No items yet! Add one above!</p>
     +                <p className="text-center">You have no todo items yet! Add one above!</p>
     ...

    2. 업데이트된 버전을 docker build CLI 명령을 이용하여 다시 빌드합니다.

    docker build -t getting-started .

    3. docker run CLI 명령으로 container를 다시 실행시킵니다.

    docker run -dp 3000:3000 getting-started

    아마도 아래와 유사한 에러가 발생할 것입니다.

    docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell 
    (bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 0.0.0.0:3000 failed: port is already allocated.

    이것은 기존의 container가 이미 실행중에 있어서 그렇습니다. 그 이유는 이전 컨테이너가 이미 호스트의 포트 3000번을 사용하고 있고  한 프로세스(컨테이너 포함)만 특정 포트를 수신 대기할 수 있기 때문입니다. 이 문제를 해결하려면 이전 컨테이너를 제거해야 합니다.

     

    container 삭제하기

    컨테이너를 제거하려면 먼저 중지해야 합니다. 중지되면 제거할 수 있습니다. CLI 또는 Docker Desktop의 그래픽 인터페이스를 사용하여 이전 컨테이너를 제거할 수 있습니다. 가장 편한 방법을 선택하세요.

    1. docker ps 명령으로 현재 실행중인 container의 id를 확인합니다.

    docker ps

    2. docker stop 명령을 사용하여 컨테이너를 중지합니다. 아래의 예제에서 <the-container-id>를 docker ps의 ID로 바꿉니다.

    docker stop <the-container-id>

    3. 컨테이너가 중지되면 docker rm 명령을 사용하여 컨테이너를 제거할 수 있습니다.

    docker rm <the-container-id>
    docker rm 명령에 force 플래그를 추가하여 단일 명령으로 컨테이너를 중지하고 제거할 수 있습니다. 
    예: docker rm -f <컨테이너 ID>

    업데이트된 Application을 다시 실행하기

    1. 이제 docker run 명령을 이용하여 업데이트된 app을 다시 실행시킬 수 있습니다.

    docker run -dp 3000:3000 getting-started

    2. http://localhost:3000에서 브라우저를 새로 고치면 업데이트된 텍스트가 보입니다.

     

    출처 : docker 공식 문서 홈페이지(Update the application)

     

    Update the application

     

    docs.docker.com

     

     

    반응형
    LIST

    'Full-Stack' 카테고리의 다른 글

    SQL(Structured Query Language)  (0) 2023.11.17
    데이터베이스(Database) 개론  (0) 2023.11.16
    docker : step1) Application의 Container를 만들고 실행하기  (0) 2023.06.03
    Introduction  (0) 2023.06.03
    docker Overview  (0) 2023.06.03
Designed by Tistory.