2016-07-18 4 views
-1

6 개월 동안 nginx 도커 컨테이너를 만들었습니다. 고정 표시기 컨테이너 쇼에 Nginx에 :도커 컨테이너에서 nginx 버전을 업그레이드하는 방법

nginx version: nginx/1.9.5 

그리고 고정 표시기 이미지가 보여 내가 고정 표시기 이미지를 구축

xxx/nginx80lb_release latest    2228a5d98be7  8 months ago  132.9 MB 

그리고 dockerfile 전에 : 이제

FROM nginx:latest 

, 내가 최근에 업그레이드 할 nginx 1.11.2 (최신). Google에서 검색했지만 행운은 없습니다. 나는 도커 이미지를 재구성하고 싶지 않습니다.

어떻게하면됩니까? 제게 조언 해주세요.

감사합니다.

+1

이미지를 다시 작성하지 않으려는 이유가 확실하지 않습니다. 또 다른 대안은 컨테이너 안으로 가서 nginx를 업그레이드하고 도커 커밋을하는 것입니다. – atv

+0

docker 허브의 최신 버전은 1.11.1 왜 사용하지 않는가? 실행 도커 끌어 오기 nginx : 최신 및 당신은 잘되어야합니다. – opHASnoNAME

+0

docker 이미지를 다시 작성하는 경우 SSL 인증서,로드 밸런서 및 중요한 데이터를 백업하지 않는 nginx 파일을 구성해야합니다. –

답변

1

컨테이너는 변경 불가능한 이미지를 기반으로합니다.

지속적으로 env를 다시 만들 수 없으므로 컨테이너를 업그레이드하면 안됩니다. 그게 전부입니다.

이미지에 비밀을 묶어 둔다면 ... 어떻게 회전/관리하고 있는지, 이는 매우 나쁜 습관입니다.

그리고 : docker cp <container> file - 인증서를 복사 할 수 있습니다.

2

여기 컨테이너와 이미지를 꽤 느슨하게 사용하고 있습니다.

컨테이너를 업그레이드하려면 docker exec -it <container_name> sh을 실행하여 컨테이너 셸에서 필요한 모든 명령을 실행하십시오.

컨테이너를 실행할 수있는 이미지를 업그레이드하려면 위와 동일한 변경을 한 다음 docker commit을 실행하십시오.

관련 문제