도커 튜토리얼을 통해 도커 앱 업데이트를 시작해보도록 하겠습니다.
그전 포스트들
https://imspear.tistory.com/66
https://imspear.tistory.com/67
작은 기능 요청으로 할 일 목록 항목이 없는 경우 제품 팀에서 "빈 텍스트"를 변경하라는 요청을 받았습니다.
그들은 그것을 다음과 같이 바꾸고 싶습니다
소스 코드 업데이트
에서 src/static/js/app.js파일 업데이트 라인 56번째 줄에 비어있는 새 텍스트를 사용합니다.
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을 사용하고 있고 컴퓨터의 한 프로세스 (컨테이너 포함)만 특정 포트를 수신할 수 있기 때문입니다. 이 문제를 해결하려면 이전 컨테이너를 제거해야합니다.
저 같은 경우에는 잠시 꺼둬서 오류는 뜨지 않았지만 밑에 사진처럼 포트 3000번에 하나의 이미지는 실행되고 있고 업데이트되지 않은 이미지는 정지해 있습니다.
똑같은 이미지가 저장된다면 나중에 어느 게 업데이트된 이미지인지 모를 수 있습니다. 확실하게 삭제한 후에 컨테이너를 교체해주시기 바랍니다.
기존 컨테이너 교체
컨테이너를 제거하려면 먼저 컨테이너를 중지해야 합니다.일단 중지되면 제거할 수 있습니다. 기존 컨테이너를 제거 할 수 있는 두 가지 방법이 있습니다. 가장 편한 경로를 자유롭게 선택하십시오.
docker ps명령을 사용하여 컨테이너의 ID를 가져옵니다.
docker ps
docker stop컨테이너를 중지하려면명령을 사용하십시오 .
#Swap out <the-container-id> with the ID from docker ps
docker stop <the-container-id>
저 같은 경우에는 컨테이너 ID 가 'ab5babe483fb' 이기 때문에 the-container-id 부분에 제 컨테이너 ID를 작성하도록 하겠습니다.
docker stop ab5babe483fb
컨테이너가 중지되면 docker rm명령을 사용하여 컨테이너를 제거할 수 있습니다.
docker rm <the-container-id>
이 것도 제 컨테이너 ID를 작성하도록 하겠습니다.
docker rm ab5babe483fb
.......실행되는 것 중에 하나를 삭제했는데 업데이트된 컨테이너를 삭제해버렸습니다.
....ㅋㅋㅋㅋㅋㅋㅋ
이 명령어는 실행되는 컨테이너를 보여준다는 점 꼭 숙지해야겠네요 ㅋㅋㅋ
docker ps
그럼 그냥 도커 윈도우에서 직접 삭제하도록 하겠습니다.
간단하게 그냥 저 버튼을 누르면 삭제됩니다.
도커 윈도우를 사용해서 간단하게 컨트롤할 수 있지만 실제적으로 리눅스에서 운영할 때에는 터미널에서 자주 사용하니까 연습하는 것도 좋아 보입니다.
그럼 오늘의 마카롱은 여기까지~
'Tools' 카테고리의 다른 글
in-x64\ng.ps1 파일을 로드할 수 없습니다. (비주얼 코드에서 명령어 사용불가) (0) | 2020.07.01 |
---|---|
4. 도커를 이용한 앱 공유(share App on Docker) (0) | 2020.06.27 |
2. 도커의 간단한 응용(Docker) (0) | 2020.06.26 |
1. 윈도우에서 도커 시작하기(install Doker) (0) | 2020.06.26 |
이클립스 롬복에서 빨간줄(오류)이 계속 나오다면( 개발 툴내에 lombok 설정하기) (0) | 2020.06.20 |