애플리케이션과 컨테이너 이미지를 업데이트 및 삭제할 수 있다.
소스 코드 업데이트 하기
1
2
3
4
| ...
- <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 .
|
1
2
3
4
| docker run -dp 3000:3000 getting-started
docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell
(2b5285b3ebfa65b51a44116c620e56b96b787874c71b25c8643b6a9ee137cb49): Bind for 0.0.0.0:3000 failed: port is already allocated.
|
src/static/js/app.js
의 56 라인의 소스 코드를 수정한다.
이전과 마찬가지로 build
후 run
명령을 실행하면 기존 컨테이너가 이미 호스트의 포트 3000을 사용하고 있어 오류가 발생한다. 이 문제를 해결하려면 이전 컨테이너를 제거해야 한다.
이전 컨테이너 지우기
컨테이너를 제거하려면 먼저 중지되어야 한다. 그 후 CLI 또는 Docker Desktop을 사용하여 제거할 수 있다.
CLI를 통해 컨테이너를 중지하고, 삭제하기 위해서 컨테이너 ID가 필요한데 docker ps
명령을 통해 확인할 수 있다.
1
2
3
4
| docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b5285b3ebfa getting-started "docker-entrypoint.s…" 35 minutes ago Up 35 minutes 0.0.0.0:3000->3000/tcp youthful_yonath
|
1
| docker stop <the-container-id>
|
1
| docker rm <the-container-id>
|
force
플래그를 docker rm
명령에 추가하여 컨테이너를 중지하고 제거할 수도 있다.
1
| docker rm -f <the-container-id>
|
업데이트된 앱 컨테이너 실행하기
1
2
| docker run -dp 3000:3000 getting-started
9732df7c2474fea5223bcd682bbd1a3b7f18cc1f965330bd666478d10a7a73cb
|
이전과 같은 docker run
명령으로 업데이트된 애플리케이션이 실행된 것을 확인할 수 있다.