programing

도커 컨테이너 상태 저장 방법

bestprogram 2023. 9. 4. 20:27

도커 컨테이너 상태 저장 방법

도커의 모든 것을 배우려고 하는데, 이미지를 저장할 수 있을지 혼란스럽습니다.

기본 Ubuntu 이미지를 실행하고 아나콘다 파이썬과 몇 가지 다른 것들을 설치했습니다.그럼 이제 내 진전을 구할 수 있는 가장 좋은 방법은 무엇입니까?저장, 커밋, 내보내기?

가상 시스템에 대한 분명한 저장 상태 파일을 제공하는 VirtualBox와 같은 방식으로 작동하는 것은 없습니다.

일반적인 방법은 적어도 컨테이너의 상태를 새 이미지로 고정하는 :를 통해 수행됩니다.

참고: 앤초비 전설에서 언급한 와 같이, 이것은 최선의 방법이 아니며, 도커 파일을 사용하면 이미지 콘텐츠를 공식적으로 모델링하고 초기 상태를 재구성/재생산할 수 있습니다.

그런 다음 해당 이미지를 에 로컬로 나열하고 다시 실행할 수 있습니다.

예:

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS              NAMES
c3f279d17e0a        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            desperate_dubinsky
197387f1b436        ubuntu:12.04        /bin/bash           7 days ago          Up 25 hours                            focused_hamilton

$ docker commit c3f279d17e0a  svendowideit/testimage:version3

f5283438590d

$ docker images

REPOSITORY                        TAG                 ID                  CREATED             SIZE
svendowideit/testimage            version3            f5283438590d        16 seconds ago      335.7 MB

그런 다음 레지스트리 서버를 배포한 경우 이미지를 해당 서버에 푸시할 수 있습니다.

일반적인 방법은 최소한 도커 커밋을 통해 컨테이너 상태를 새 이미지로 고정하는 것입니다.

그러나 Hyper-V 또는 VMware의 가상 머신 저장 상태와 달리 컨테이너의 "상태를 저장"하는 신뢰할 수 있는 방법은 없습니다.이것은 도커의 단점이기도 합니다.

영구 파일 변경에 대한 변경 내용만 저장하는 것 같습니다.따라서 새 이미지에서 컨테이너를 다시 회전시키면 종속성과 실행된 모든 실행 명령이 동일한 영향을 미치지 않습니다.

그렇기 때문에 도커 파일을 변경하는 것이 이상적이며, 간단히 말해서 도커 시스템에는 가상 머신과 같은 저장 상태 기능이 없습니다.메모리 내용은 항상 손실됩니다.

다음을 사용하여 가능하지만 권장되지는 않습니다.docker commit지휘권
다음과 같은 명확한 예를 확인할 수 있습니다.
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image

이러한 시나리오에는 도커 파일을 사용합니다.

MongoDB가 있는 Ubuntu 이미지의 예:

FROM ubuntu
MAINTAINER Author name

RUN apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
RUN echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist    10gen" | tee -a /etc/apt/sources.list.d/10gen.list
RUN apt-get update
RUN apt-get -y install apt-utils
RUN apt-get -y install mongodb-10gen

#RUN echo "" >> /etc/mongodb.conf

CMD ["/usr/bin/mongod", "--config", "/etc/mongodb.conf"]

도커 파일 작성에 대한 모범 사례도 참조하십시오.

언급URL : https://stackoverflow.com/questions/44480740/how-to-save-a-docker-container-state