Docker 입문 실천 (5) Docker 3대 구성 요소의 작업 메커니즘 이해
3175 단어 Docker
blog.favorstack.io
# (하나) Docker 미러가 어떻게 작동하는지
Docker 미러는 Docker 컨테이너가 실행하는 정적 템플릿이라는 것을 알고 있습니다.각 미러에는 레이어가 포함되어 있으며 Docker는 레이어를 단일 미러로 조합하기 위해
union file systems
라는 레이어를 사용합니다.unionFS
별도의 파일 시스템에서 파일과 폴더가 분기 형식으로 나타날 수 있도록 하고 투명하게 덮어쓰여 최종적으로 연속적인 파일 시스템을 형성할 수 있다.Docker가 이렇게 가벼운 이유 중 하나는 바로 이 층 때문이다.이미지를 수정할 때, 예를 들어 프로그램을 새 버전으로 업데이트할 때, 새로운 층을 구축합니다.따라서 가상 컴퓨터를 조작할 때처럼 전체 렌즈나 전체 재구성을 교체하는 것이 아니라 이 층만 추가되거나 수정된다.이제 전체 렌즈를 나눠줄 필요가 없다. 업데이트만 하면 된다. Docker 렌즈를 더 빠르고 간단하게 나눠줄 수 있다.
모든 거울은 하나의 기초 거울에서 시작된다. 예를 들어 우리가 전에 사용했던
unionFS
거울도 우리가 스스로 기초 거울을 만들어서 새로운 거울을 사용할 수 있다.예를 들어 우리가 제작한 ubuntu:16.04
, 그리고 baseos:1.0
등 이 거울들은 우리의 모든 자바 응용 프로그램의 기초 거울에 사용할 수 있다.다음에 Docker 거울은 일련의 간단하고 묘사적인 절차를 통해 이러한 기초 거울에서 구축할 수 있는데 이런 절차를 명령이라고 부른다.각 명령은 미러에 새 레이어를 생성하며 일반적으로 이러한 동작을 포함합니다.
이 명령들은
jre:7u80
라는 텍스트 파일에 놓여 있으며, Dockerfile
는 기본 이미지에서 이미지를 구축하는 일련의 명령과 명령을 포함한다.거울을 만들어 달라고 요청할 때, Docker는 이 Dockerfile
파일을 읽고, 명령을 실행하고, 최종 거울을 생성합니다.# (둘) Docker registry 작업 방법
Dockerfile
는 Docker의 거울을 위탁 관리하는 곳이다. 우리가 거울을 구축할 때 Docker Hub와 같은 공공 창고로 옮기거나 자신의 사유 창고로 옮길 수 있다.Docker 클라이언트를 통해 우리는 이미 발표된 거울을 검색하여 Docker 호스트로 끌어낸 다음 용기를 구축하는 데 사용할 수 있습니다.
Docker registry
공공 창고도 제공하고 개인 창고도 제공하여 거울을 저장한다.공공 창고는 검색할 수 있고 누구에게도 다운로드할 수 있지만, 개인 창고의 거울은 검색 결과에 나타나지 않으며, 당신과 사용자만 이 거울을 끌어당겨 용기를 구축하는 데 사용할 수 있다.#(3) Docker 컨테이너는 어떻게 작동하는지
용기에는 운영체제, 사용자가 추가한 파일, 메타데이터 등이 포함되어 있다.모든 용기는 하나의 거울에서 만들어지는 것을 보았습니다. 이 거울은 Docker에게 용기가 무엇을 위탁 관리해야 하는지, 용기가 실행될 때 어떤 프로세스를 실행해야 하는지, 그리고 일련의 다른 설정 데이터를 알려 줍니다.Docker 미러는 읽기 전용입니다. Docker가 하나의 미러에서 용기를 실행할 때, 미러 위에 읽기 전용 층을 추가합니다. (앞서 언급한
Docker Hub
을 사용하면, 응용 프로그램이 위에서 실행될 수 있습니다.#(4) 하나의 컨테이너를 실행할 때 어떤 일이 발생했는지
바이너리 파일
unionFS
을 사용하든 API를 사용하든 Docker 클라이언트는 Docker 데몬을 사용해서 용기를 실행하라고 알려줍니다.$ docker run -it ubuntu:16.04 /bin/bash
Docker 엔진 클라이언트는
docker
바이너리 파일과 docker
하위 명령을 통해 용기를 만듭니다.Docker 클라이언트는 컨테이너를 만들기 위해 Docker 데몬에 다음 두 가지 이상의 정보를 제공해야 합니다.run
ubuntu:16.04
/bin/bash
렌즈: Docker 엔진은 먼저 이 렌즈가 로컬에 존재하는지 확인하고 존재하면 용기를 만듭니다.만약 존재하지 않는다면, 먼저 가서 ubuntu:16.04
가져갈 것이다.이제 우리는 운행 중인 용기가 하나 생겼다.다음에 우리는 용기를 관리하고 응용 프로그램과 상호작용을 할 수 있으며, 실행이 끝나면 용기를 멈추고 삭제할 수 있다.
참조:https://docs.docker.com/engine/understanding-docker/
(끝)
이 문서는 나의 새 블로그 주소로 이전되었으니 방문을 환영합니다.
blog.favorstack.io
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
첫 번째 Docker for Mac참고 , 나는 옆에 있는 Mac에 Docker를 설치하고 컨테이너를 세워 보고 싶다. Docker Hub를 처음 사용할 때는 계정을 만들어야 합니다. Docker.dmg을 실행하면 Docker가 설치됩니다. Dock...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.