• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
질문

도커 컨테이너 중지/삭제하지 않고 업데이트 하는 방법이 있을까요 ?

jerry80 jerry80 211

0

12

일반적인 도커 컨테이너의 경우 쉘에서

 

docker compose down

docker compose pull

docker compose up -d

 

를 순서대로 실행하면 되는데... 문제는 업데이트 하려는 컨테이너가 npm 일 때 입니다.

쉘 또는 WebGUI 에 npm 을 통해서 접속했을 때 

docker compose down 

하는 순간 접속이 끊어져 버려서 (당연하겠지요 ? ㅎㅎ) 다음 명령어를 실행 할 수가 없고.

 

실행되는 상태에서

docker compose pull

docker compose restart 

하면 업데이트가 반영되지 않는것 같고요..

 

커맨드라인 기준 해결하는 방법이 있을까요 ?

신고공유스크랩
12
profile image 1등
너굴맨봇 2024.02.20. 09:34
안녕하세요, jerry80님.😊
 

좋은답변을 받기위해서는 좋은 질문이 필요합니다.

유의할점⚠️

  • 예의를 지켜주세요. 답변자는 답변을 할 의무는 없습니다.
  • 질문에 대한 대부분의 답은 검색으로 찾아보실 수 있습니다.
  • 답변자가 답변을 하면서 대개 많은 경우는 다시 질문을 하는 경우가 많이 있습니다.
    • (질문의 대한 정보가 부족합니다. ~일 경우 결과물이 어떻게 됩니까? 등등)

질문방법🙏

자신의 상황을 최대한 자세히 설명해주세요.

상황이 정확하고 많을 수록 답변의 정확도가 올라갑니다. 

ex) ex) 헤놀로지라면 메인보드 모델 칩셋정보, CPU, 사용한 DSM 버전, 모델, 부수적인 추가 컨트롤러 나 랜카드 등과 어떠한 로더의 이미지를 사용했는지.(arpl-i18n, mshell), 어떤 버전을 사용했는지, 문제가있다면 어떠한것인지 스크린샷을 동반하고 에러의 경우 에러로그를 출력해서 주시면 좋습니다.

*가능하면 최신버전 OS/SW를 이용해주세요

 

답변에대한 피드백을 주세요.

정보가 질문에 모두 담겨있지않다면 대부분의 답변이 다른정보를 요구합니다.

이러한 답변에 대해 명확한 피드백을 주시면 도움이 됩니다.

profile image
jerry80 글쓴이 2024.02.20. 09:53
purndal
위 명령 세개로 스크림트 하나 만들면 될까요 ?
npm 이 멈춰도 스크립트의 두번째/세번째 줄이 이어서 실행될까요 ? 뭐 해보면 알겠지만서도...

dockage 화면에서 updatte 누르면 pull 을 먼저하고, 다음에 recreate 라는 화면이 뜨면서
접속이 일단 끊어지고 다시 연결은 되네요.. docker 명령어중에 recreate 에 해당하는 명령어는 못찾겠구요. ㅎㅎ
purndal 2024.02.20. 09:59
jerry80
저 같은 경우도 oci의 서버에서 apt update 후 upgrade 시 npm이 죽는 경우가 발생해서
sh로 npm 시작 문구까지 넣어서 업데이트 하고 있네요 ㅎㅎ.
순차적으로 실행하더라고요.. 끝나면 다음 문구..
3등
eyeball 2024.02.20. 09:51

docker compose pull && docker compose down && docker compose up -d

한번에 명령어를 입력하시면 됩니다.

위 명령어를 sh파일로 만들어두시면 편리합니다.

KelvinKang 2024.02.20. 10:41
개념을 좀더 확실히 하셔야 할 것 같습니다.
일단 컨테이너는 업데이트 라는게 사실상 이미지가 업데이트 입니다.

그래서 컨테이너는 업데이트가 사실상 없는게 맞습니다.
간단히는, "컨테이너 = 이미지(읽기전용) + 휘발성 저장소(읽고, 쓰기)" 라고 할 수 있습니다.
업데이트 하려면, 이미지(읽기전용) 부분을 보통 업데이트를 하게 됩니다.

watchtower를 이용해서 주기적으로 자동으로 이미지를 업데이트 되도록 하시면 신경쓸일이 거의 없을거에요.
profile image
jerry80 글쓴이 2024.02.20. 10:50
KelvinKang
예. 그 부분 알고있는데, 컨테이너 업데이트 라고 표현을 잘못썼네요. docker compose pull 이 신규이미지가 있을때 (물론 이미지를 특정 버전이 아닌 latest등으로 지정했을때) 이미지 업데이트 되는 것이고, pull 다음에 up -d 해야 업데이트된 이미지로 다시 컨테이너가 생성되는것 이지요.

watchtower는 사용하지 않고 있습니다.
KelvinKang 2024.02.20. 13:14
jerry80

제가 watchtower를 꺼낸 이유가 바로 말씀하신 부분 때문입니다.
watchtower를 쓰면, 매번 docker compose down 후 pull 하고 다시 up 할 필요가 없다는 얘기 입니다.

 

그리고 제목의 질문은 일단 불가능 합니다.

이미지 업데이트와 관련된 모든 작업은 컨테이너를 멈춘다음에 진행이 가능 하므로, 서비스 중단은 필수 입니다.

 

watchtower 쓰면, 시스템 유휴시간에 맞춰 자동으로 업데이트를 하게 되므로, 그나마 중단 시간을 느끼지 못하게 업데이트가 가능하기에 watchtower를 추천하는 이유이구요.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
가이드 Ubuntu 24.04 LTS Desktop 원격 접속 설정하기(SSH,RDP) 3 달소 1일 전18:33 98 +1
가이드 Ubuntu 24.04 LTS Server 설치해보기 달소 1일 전17:40 180 +2
잡담 Ubuntu 24 가 정식출시되었습니다~~ 8 달소 2일 전10:37 288 +2
3872 잡담
file
몰래컴퓨터 12시간 전00:30 69 0
3871 질문
image
무백 15시간 전21:45 83 0
3870 잡담
normal
kmw_ 1일 전21:52 373 0
3869 후기
normal
ljr10 1일 전21:18 104 0
3868 가이드
image
달소 1일 전19:06 66 0
3867 가이드
image
달소 1일 전18:33 98 +1
3866 가이드
image
달소 1일 전18:09 103 0
3865 가이드
image
달소 1일 전17:40 180 +2
3864 질문
normal
까칠한나그네 1일 전15:44 86 0
3863 잡담
image
달소 2일 전10:37 288 +2
3862 가이드
image
달소 2일 전23:10 87 +1
3861 가이드
image
달소 2일 전22:54 92 0
3860 질문
normal
감자칩 2일 전18:56 209 0
3859 질문
image
게르노 2일 전16:08 77 0
3858 질문
image
동도리군 3일 전12:14 95 0
3857 정보
image
달소 3일 전08:21 175 +1
3856 잡담
image
달소 3일 전07:46 307 +1
3855 가이드
image
달소 3일 전07:24 294 0
3854 질문
normal
서버구축하자 3일 전13:09 436 0
3853 질문
image
미스터빈 4일 전20:09 235 0