Docker에서 이미지와 컨테이너의 차이점: 1. 이미지는 다양한 환경이나 서비스를 포함하는 템플릿인 반면, 컨테이너는 이미지의 인스턴스입니다. 2. 이미지는 실행할 수 없고 정적이지만 컨테이너는 실행할 수 있습니다. 실행 예, 동적입니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, docker-1.13.1 버전, Dell G3 컴퓨터.
1. 도커 이미지
도커 이미지와 도커 컨테이너의 차이점을 이해하는 것은 정말 쉽지 않습니다.
Linux 커널이 레이어 0이라고 가정하면 Docker를 어떻게 실행하든 커널 레이어 위에서 실행됩니다. 이 Docker 이미지는 레이어 1에 있는 읽기 전용 이미지입니다. 수정하거나 상태를 저장할 수 없습니다.
Docker 이미지는 다른 Docker 이미지 위에 구축될 수 있으며 이러한 계단식 관계는 다중 계층으로 구성될 수 있습니다. 첫 번째 레이어의 이미지 레이어를 기본 이미지(Base Image)라고 하고, 다른 레이어의 이미지(최상위 레이어 제외)를 부모 이미지(Parent Image)라고 합니다. 이러한 이미지는 상위 이미지의 모든 속성과 설정을 상속하고 Dockerfile에 자체 구성을 추가합니다.
Docker 이미지는 이미지 ID로 식별됩니다. 이미지 ID는 64자의 16진수 문자열입니다. 그러나 이미지를 실행할 때 일반적으로 이미지 ID를 사용하여 이미지를 참조하지 않고 이미지 이름을 사용합니다. 유효한 모든 로컬 이미지를 나열하려면
# docker images
명령을 사용하면 됩니다. 미러는 다른 버전으로 게시될 수 있습니다. 이 메커니즘을 태그라고 합니다.
위 그림과 같이 neo4j 이미지에는 최신 버전과 2.1.5 버전 두 가지 버전이 있습니다.
풀 명령을 사용하여 지정된 라벨을 추가할 수 있습니다:
# docker pull ubuntu:14.04 # docker pull ubuntu:12.04
2. Docker 컨테이너
Docker 컨테이너는 다음 명령을 사용하여 생성할 수 있습니다:
# docker run imagename
모든 이미지 레이어 위에 쓰기 가능한 레이어가 추가됩니다. 이 쓰기 가능한 계층에는 CPU에서 실행되는 프로세스가 있으며 실행 중과 종료라는 두 가지 상태가 있습니다. 이것이 도커 컨테이너입니다. docker run을 사용하여 컨테이너를 시작하면 Docker 컨테이너가 실행 상태로 전환됩니다. Docker 컨테이너를 중지하면 종료 상태로 전환됩니다.
실행 중인 Docker 컨테이너가 있으면 실행 상태에서 중지 상태까지의 모든 변경 사항이 컨테이너의 파일 시스템에 영구적으로 기록됩니다. 컨테이너에 대한 변경 사항은 Docker 이미지가 아닌 컨테이너의 파일 시스템에 기록된다는 점을 기억하세요.
동일한 이미지를 사용하여 여러 Docker 컨테이너를 시작할 수 있습니다. 이러한 컨테이너는 시작 후 모두 활성화되며 서로 격리됩니다. 컨테이너 중 하나에 대한 변경 사항은 해당 컨테이너 자체로 제한됩니다.
컨테이너의 기본 이미지가 수정되면 현재 실행 중인 컨테이너는 영향을 받지 않으며 자동 업데이트가 발생하지 않습니다.
컨테이너를 새 버전의 이미지로 업데이트하려면 올바른 방식으로 데이터 구조를 구축하도록 주의해야 합니다. 그렇지 않으면 결국 컨테이너의 모든 데이터가 손실될 수 있습니다.
컨테이너의 고유 식별자인 컨테이너 ID를 정의하는 64자의 16진수 문자열입니다. 컨테이너 간의 상호 작용은 컨테이너 ID로 식별됩니다. 컨테이너 ID의 문자가 너무 길기 때문에 일반적으로 컨테이너 ID의 처음 4자만 입력하면 됩니다. 물론 컨테이너 이름을 사용할 수도 있지만 4자리 컨테이너 ID를 사용하는 것이 확실히 더 쉽습니다.
추천 학습: "docker 비디오 튜토리얼"
위 내용은 Docker에서 이미지와 컨테이너의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!