Docker
Docker는 Linux 및 Windows에서 실행되는 소프트웨어로, 용기를 만들고 관리하고 프로그래밍하는 데 사용됩니다.
Docker는 GitHub에서 개발한 Moby 오픈 소스 프로그램의 일부입니다.
Docker 회사는, 샌프란시스코에 위치하고 있으며, 전체 Moby 오픈 소스 프로그램의 유지보수자입니다.Docker 회사는 또한 포함 지오메트리를 제공합니다.서비스를 가져오는 비즈니스 버전의 Docker입니다.
Docker사
Docker 회사는 샌프란시스코에 위치하고 있으며, 프랑스계 미국인 개발자와 사업가인 Solumon Hykes에 의해 설립되었으며, 그 로고는 다음과 같습니다.아래 그림과 같이.
Docker 마크
흥미롭게도, Docker 회사는 처음에 dotCloud 라는 플랫폼 즉 서비스(Platform-a)를s-a-Service, PaaS) 제공업체입니다.
하위 기술에서는 dotCloud 플랫폼이 Linux 용기 기술을 활용합니다.이러한 용기를 쉽게 만들고 관리하기 위해 dotCloud는 내부 도구 세트를 개발했으며, 이후 "Docker"라고 명명되었습니다.Docker는 바로이렇게 태어난다!
2013년에도 dotCloud의 PaaS 비즈니스가 부진해 새로운 도약을 모색해야 했습니다.그래서 그들은 B를 고용했다en Golub은 새로운 CEO로서 회사를 Docker라고 중명하고 do를 포기한다.tCloud PaaS 플랫폼은 "Docker와 용기 기술을 전 세계로 미룬다"는 사명을 띠고 새로운 장을 열었습니다.
오늘날 Docker사는 약 10억 달러의 시장 가치를 지닌 혁신적인 테크놀로지 회사로 널리 알려져 있습니다.Docker 회사는 이미 다륜 융자를 통해 실리콘 밸리에서 온 몇 개의 풍투 회사를 인수한 누계는 2.4가 넘는다. 억 달러의 투자.
거의 모든 융자는 회사가 "Docker"로 이름을 바꾼 후에 발생한다.
제시: "Docker"라는 단어는 부두 노동자(Dock Worker), 즉 배에서 화물을 하역하는 것을 의미하는 영국의 구어에서 왔다.사람
Docker 작동 시 및 편성 엔진
다수의 기술자가 Docker에 대해 이야기할 때 주로 Docker 엔진을 의미합니다.
Docker 엔진은 용기를 실행하고 프로그래밍하는 데 사용되는 인프라 도구입니다.VMware 관리 경험이 있는 독자는 이를 유비할 수 있습니다ESXi를 위한 것입니다.
ESXi는 가상 머신을 실행하는 핵심 관리 프로세스인 반면, Docker 엔진은 실행 용기의 핵심 용기가 작동하는 경우입니다.
다른 Docker 회사나 제3자의 제품은 Docker 엔진을 둘러싸고 개발되고 집적되어 있습니다.
아래 그림과 같이 Docker 엔진이 중심에 있고 다른 제품은 Docker 엔진의 핵심 기능에 기초하여 집적됩니다.
Docker 엔진을 둘러싼 개발과 통합을 위한 제품
Docker 엔진은 Docker 웹 사이트에서 다운로드할 수도 있고 GitHub 상의 소스 코드에 기반하여 구축할 수도 있습니다.오픈 소스 버전이든 비즈니스 버전이든 Linux와 Windows 버전이 있습니다.
Docker 엔진에는 주로 두 가지 버전이 있습니다: 엔터프라이즈 버전(EE)과 커뮤니티 버전(CE).
매 분기마다 엔터프라이즈 버전과 커뮤니티 버전 중 하나의 안정적인 버전이 배포됩니다.커뮤니티 버전은 4개월 동안 지원되며 엔터프라이즈 버전은 1로 제공됨2개월의 지지.
커뮤니티 버전은 Edge 방식으로 월 버전도 배포합니다.
2017년 1분기부터 Docker 버전 번호는 YY.MM-xx 양식을 따르며 Ubunt와 유사합니다.u 등의 항목. 예를 들어 2018년 6월에 처음 배포된 커뮤니티 버전 18.06.0-ce.
비고: 2017년 1분기 이전 Docker 버전 번호는 큰 버전 번호.작은 버전 번호의 형식을 따릅니다.새 형식을 적용하기 전 마지막하나의 버전은 Docker 1.13입니다.
Docker 오픈 소스 프로그램(Moby)
"Docker"라는 용어는 오픈 소스 Docker 프로젝트를 가리키는 데도 사용됩니다.그 안에는 Docker로부터의 홈페이지로부터의 일련의 접속이 포함되어 있다.다운로드하고 설치하는 도구, 예를 들어 Docker 서비스 탭과 Docker 클라이언트입니다.
그러나 이 프로젝트는 2017년 Austin에서 개최된 DockerCon에서 공식적으로 Moby로 명명되었습니다. 프로젝트
이번 개명으로 인해 GitHub 상의 docker/docker 라이브러리도 moby/moby로 이동하게 되었고,또한 프로젝트 자체의 Logo를 보유했으며 아래 그림과 같이 합니다.
모비의 로고
Moby 프로젝트의 목표는 오픈 소스 방식에 기반하여 Docker 상위로 발전하고 Docker를 더 많이 분리하는 것입니다.의 모듈화 모듈.
Moby 프로젝트는 GitHub의 Moby 코드 라이브러리에 위임되며 자 프로젝트와 도구 리스트를 포함합니다.핵심의 Docker 엔진 항목은 GitHub 의 moby/moby 에 위치하지만 엔진에서 코드가 올바르게 유지되고 있다.분할 및 모듈화를 계속합니다.
하나의 오픈 소스 프로젝트로서, 그 소스 코드는 공개적으로 입수 가능한 것이며, Apache 프로토콜 2.0을 따르는 경우라면 누구나 스스로 할 수 있다.에서 다운로드, 기여, 조정 및 사용.
프로젝트의 제출 역사를 살펴보면, 다음과 같은 회사로부터 유래한 기초 기술을 포함할 수 있습니다: 빨간 모자, 마이크로소프트, IBM, 시스코, 그리고 HPE. 이외에도 큰 회사로부터의 기여자가 아닌 몇몇 사례도 볼 수 있습니다.
다수의 프로젝트와 그 도구들은 Golang에 기초하여 작성되었는데, 이것은 구글이 내놓은 일종의 새로운 시스템급 프로그래밍 언어로서 Go라고도 합니다. 언어. Go 언어를 사용하는 독자는 이 프로젝트에 코드를 기여하기 더 쉬울 것입니다.
Mody/Docker 오픈 소스 프로젝트의 이점으로는 그 모든 설계와 개발이 개방되어 있으며, 사유 코드를 버리고 폐원되었다.발신 모드 아래의 오래된 방법.
그래서 발표 과정도 공개적으로 진행됐고, 비밀스러운 버전이 몇 달 전에 브리핑과 경공회를 하겠다고 발표하는 어처구니없는 일은 더 이상 없을 것이다.。
Moby/Docker는 이렇게 작동하는 것이 아니며 프로젝트 중 다수는 누구나 보고 기여하는 것을 환영하도록 개방되어 있습니다.
Moby 프로젝트는 물론 더 광범위한 Docker 운동에 일파만파의 붐을 일으켰습니다.GitHub에는 이미 수 천명이 있다.의 제출 청구(pull request), 그리고 수 많은 용기화 기술에 기반한 프로젝트가 되었습니다, 더군다나 Docker Hub에 수십억의 미러 다운.
Moby 프로젝트는 이미 소프트웨어 산업에 엄청난 변화를 가져왔습니다.
이것은 망상이 아닙니다, Docker 는 이미 폭넓은 응용을 받았습니다!
용기 생태
Docker 회사의 한 가지 핵심 철학은 흔히 "배터리를 포함하지만, 탈부착이 가능하다"라고 불린다(Batteries include).d but removable).
많은 Docker 내장된 패키지를 제3자의 패키지로 교체할 수 있다는 의미로, 네트워크 기술 스택이 좋은 예입니다.
Docker 핵심 제품에는 네트워크 솔루션이 내장되어 있습니다.그러나 네트워크 기술 스택은 꽂을 수 있으며, 이는 Docker에 내장된 것을 의미합니다.네트워크 방안은 제3자 방안으로 교체할 수 있다.많은 사람들이 이렇게 사용해요.
초기에는 제3자 플러그인이 Docker에서 제공하는 내장형 모듈보다 더 나은 경우가 종종 있었습니다.그러나 이것은 Docker에게 회사의 비즈니스 모델이 충격을 주다.필경, Docker 회사는 이윤에 의존하여 기간업을 유지할 필요가 있다.。
이에 따라 '장착된 배터리'는 갈수록 사용하기 쉬워졌다.생태계 내부의 긴장관계와 경쟁 심화로 이어지고 있다.
쉽게 말해, Docker에 내장된 "배터리"는 여전히 꽂힐 수 있지만, 점점 더 그것들을 빼낼 필요가 없게 된다.
그럼에도 불구하고 용기 생태계는 일종의 선순환적 협력과 경쟁의 균형 속에서 번창했다.
용기의 생태에 대해 말할 때, 사람들은 흔히 'co-opetition'(협력과 경쟁, 영어로 co-o)과 같은 것을 사용한다.peration competition과 통합된 단어)와 "frenemy"(영어로 친구 friend 적 enemy와 병합한 단어)이라는 글자가 있습니다.이것은 좋은 현상이다!양성의 경쟁은 혁신의 어머니이기 때문이다.
오픈 용기 계획
개방 용기 계획(The Open Container Initiative, OCI)에 대해 언급하지 않는다면, Docker 와 용기 생태에 대한 탐구는 항상 불완전합니다.아래 그림과 같이 OCI의 Lo고
OCI의 Logo
OCI는 용기 기반 아키텍처에 있는 기초 조각(예: 미러 포맷과 용기가 작동하는 경우)을 표준화하기 위한 관리 위원회입니다.
마찬가지로 역사에 대해 말하지 않는다면 OCI에 대한 탐구도 불완전합니다.
CoreOS라는 회사는 Docker의 어떤 행동 방식을 좋아하지 않습니다.그래서 그것은 새로운 오픈 소스 표준을 만들었다이 표준은 'appc'라 불리며 미러 포맷과 용기 가동 시 등과 같은 측면을 다룬다.
rkt(발음 'rocket') 구현도 개발했다.
두 개의 경쟁 상태에 있는 기준은 용기의 생태를 일종의 난처한 상황에 둔다.
이는 용기 생태계를 분열의 위험에 빠뜨렸고 사용자와 소비자를 딜레마에 빠뜨렸다.경쟁은 좋은 일이지만 표준적인 경쟁통은항상 아니다; 그것은 괴롭힘을 초래하고 사용자 수용도를 떨어뜨리며 누구에게도 도움이 되지 않기 때문이다.
이러한 점을 감안하여, 모든 관련 측들은 이 일을 최대한 성숙한 방식으로 처리하여 OCI — 용기 표준을 관리하기 위한 하나의 공동 설립경량급의 민첩한 위원회.
OCI는 이미 두 개의 규범(표준):경상규범과 운행시규범을 발표했다.
이 두 가지 기준을 언급할 때 흔히 사용되는 비유는 레일입니다.그것들은 마치 레일의 치수와 관련 속성에 대해 합의하고 모든 사람들이 자유롭게땅은 더 좋은 기차, 더 좋은 칸, 더 나은 신호 시스템, 더 좋은 역 등을 만든다.
모두가 기준을 따르는 한 안전하다.아무도 레일 사이즈 문제에 두 개의 상호 경쟁적인 기준이 존재하기를 원하지 않을 것입니다!
공평하게 말하면, 이 두 OCI 규범은 Docker의 아키텍처와 핵심 제품 설계에 현저한 영향을 미쳤습니다.Docker 1.11 버전에서 Docker 엔진 아키텍처는 OCI 작동 시 규범을 이미 따랐습니다.
지금까지 OCI는 용기 생태계를 통합하는 데 좋은 성과를 거두었습니다.하지만 표준은 항상 혁신의 발걸음을 늦출 것입니다!특히 초급속으로 발전하는 신기술의 경우 더욱 그러하다.
이것은 용기 커뮤니티에서 열띤 토론을 불러 일으켰다.이게 잘된 일인 것 같아요!용기 기술이 세계를 재창조하고 있고, 기술의 선두에 선 사람들은 열정적이고, 생각이 있다.법, 이것은 정상이다.
OCI는 Linux 재단의 지원으로 작동하며 Docker사와 CoreOS 회사는 모두 주요 기여자입니다.。