[도커] Part 3: Update the application docs.docker.com/get-started/

DongGu·2021년 3월 31일
0

Part 3: Update the application

작은 기능 요청으로 제품팀으로부터 할 일이 없을 때 "빈 텍스트"를 변경해 달라는 요청을 받았다. 그들은 이것을 다음과 같이 전환하기를 원한다.

아이템이 없으면 하나 더 한다

Update the source code

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> 
  1. 이전에 사용했던 명령을 사용하여 업데이트된 이미지 버전을 만들어보자.
    docker build -t getting-started .

  2. 업데이트된 코드를 사용하여 새 컨테이너를 시작합시다.
    docker run -dp 3000:3000 getting-started

ID만 다른 아래와 같은 에러를 발견했을 것이다.

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.

기존 컨테이너가 아직 가동 중이기 때문에 우리는 새 컨테이너를 시작할 수 없다는 것이다. 이것이 문제가 되는 이유는 컨테이너가 호스트의 포트 3000을 사용하고 있고 기계에서 하나의 프로세스(컨테이너 포함)만 특정 포트를 청취할 수 있기 때문이다. 이 문제를 해결하려면 기존 컨테이너를 제거해야 한다.

Replace the old container

컨테이너를 제거하기 위해서는 먼저 컨테이너를 정지시켜야 한다. 멈춰야 제거할 수 있다. 기존 컨테이너를 제거할 수 있는 두 가지 방법이 있다. 편한 것을 선택하면 된다.

1) Remove a container using the CLI
  1. 다음을 사용하여 컨테이너의 ID를 얻자.
    docker ps

  2. docker stop로 컨테이너를 정지하도록 명령한다.
    # Swap out <the-container-id> with the ID from docker ps
    docker stop <the-container-id>

  3. 컨테이너가 정지된 후 docker rm 커맨드를 이용하여 제거할 수 있다.
    docekr rm <the-container-id>

  • 참고
    "force" 플래그를 명령어에 추가하면 컨테이너를 강제적으로 중지 및 제거할 수 있다. docker rm 명령어이다. docker rm -f <the-container-id>
2) Remove a container using the Docker Dashboard

도커 대시보드를 열면 두 번의 클릭으로 컨테이너를 제거할 수 있다. 컨테이너 ID를 조회해서 제거해야 하는 것보다 쉽다.

대시보드를 연 상태에서 앱 컨테이너 위에 마우스를 올려 놓으면 오른쪽에 일련의 작업 버튼이 나타나는 것을 볼 수 있다.

컨테이너를 삭제하려면 휴지통 아이콘을 클릭하면 된다.

Start the updated app container

docker run -dp 3000:3000 getting-started
http:///localhost:3000에서 브라우저를 새로고침하면,업데이트된 도움말 텍스트가 표시될 것이다.

profile
코딩하는 신방과생

0개의 댓글