작은 기능 요청으로 제품팀으로부터 할 일이 없을 때 "빈 텍스트"를 변경해 달라는 요청을 받았다. 그들은 이것을 다음과 같이 전환하기를 원한다.
아이템이 없으면 하나 더 한다
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>
이전에 사용했던 명령을 사용하여 업데이트된 이미지 버전을 만들어보자.
docker build -t getting-started .
업데이트된 코드를 사용하여 새 컨테이너를 시작합시다.
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을 사용하고 있고 기계에서 하나의 프로세스(컨테이너 포함)만 특정 포트를 청취할 수 있기 때문이다. 이 문제를 해결하려면 기존 컨테이너를 제거해야 한다.
컨테이너를 제거하기 위해서는 먼저 컨테이너를 정지시켜야 한다. 멈춰야 제거할 수 있다. 기존 컨테이너를 제거할 수 있는 두 가지 방법이 있다. 편한 것을 선택하면 된다.
다음을 사용하여 컨테이너의 ID를 얻자.
docker ps
docker stop
로 컨테이너를 정지하도록 명령한다.
# Swap out <the-container-id> with the ID from docker ps
docker stop <the-container-id>
컨테이너가 정지된 후 docker rm
커맨드를 이용하여 제거할 수 있다.
docekr rm <the-container-id>
docker rm
명령어이다. docker rm -f <the-container-id>
도커 대시보드를 열면 두 번의 클릭으로 컨테이너를 제거할 수 있다. 컨테이너 ID를 조회해서 제거해야 하는 것보다 쉽다.
대시보드를 연 상태에서 앱 컨테이너 위에 마우스를 올려 놓으면 오른쪽에 일련의 작업 버튼이 나타나는 것을 볼 수 있다.
컨테이너를 삭제하려면 휴지통 아이콘을 클릭하면 된다.
docker run -dp 3000:3000 getting-started
http:///localhost:3000에서 브라우저를 새로고침하면,업데이트된 도움말 텍스트가 표시될 것이다.