'전체 글'에 해당되는 글 15건

카테고리 없음

Shell

 

현재 우리가 사용하는 운영체제(Windows, Mac OS, Android, iOS 등)는 모두 그래픽 인터페이스가 있고 간단하고 직관적이며 손쉽기 쉬우며, 전문 사용자(프로그래머, 웹관 등)와 일반 사용자(주부, 노인 등) 모두에 대한 적용이 가능합니다.

그러나 컴퓨터 초기에는 그래픽 인터페이스가 없어 우리는 명령을 하나씩 밟아가며 통제할 수 밖에 없었고, 이런 명령들이 수백 대에 달했던 것을 기억하기에는 너무 어려웠고, 매일 아무런 색깔도 없는 '블랙스크린'에 직면하는 것 자체가 지루했다.전문 인력이 있어야 사용할 수 있습니다.
초기의 컴퓨터
그림 : 초기의 컴퓨터는, 모두 "흑지·백자"이다.
'시애틀 컴퓨터 박물관에 너를 데려가라'를 강타하면 초기 컴퓨터를 더 많이 감상할 수 있다.
그래픽 인터페이스의 경우 사용자는 어떤 아이콘을 클릭하면 프로그램이 작동하고, 명령행의 경우 사용자가 어떤 프로그램의 이름을 입력하면(명령을 하나 하는 것으로 볼 수 있음) 프로그램이 작동한다.이 둘 모두 기본 과정은 유사하며, 프로그램의 하드 디스크에 있는 설치 위치를 찾아 이들을 메모리에 추가하여 실행하는 것이 필요합니다.
프로그램의 작동 원리에 대해서는,<메모리에 탑재해, 프로그램이 동작하게 해 주세요>를 강타해 주세요.
다시 말해, 그래픽 인터페이스와 명령행이 달성해야 하는 목적은 같은 것으로, 모두 사용자가 컴퓨터를 제어하도록 하는 것이다.

그러나 정작 컴퓨터 하드웨어(CPU, 메모리, 모니터 등)를 제어할 수 있는 것은 운영체제인 케넬(Kernel)뿐이며 그래픽 인터페이스와 명령행은 사용자와 내핵 사이에 놓인 교량일 뿐이다.
운영체제의 역할을 잘 모르면 '운영체계가 뭐길래'로 넘어가세요.
안전, 복잡, 번거로움 등으로 인해 사용자가 내핵에 직접 접근할 수 없고(필요하지도 않음) 사용자가 이를 직접 사용할 수 있게 하는 별도의 프로그램을 개발해야 하며, 이 프로그램은 사용자의 조작(그림을 클릭하여 명령을 입력)하여 간단히 처리하도록 하는 역할을 한다.운영체제로 내핵을 했습니다.보세요, 사용자와 내핵 사이에 "대리"를 추가하면 사용자의 조작을 간소화할 수 있고 내핵의 안전을 보장할 수 있는데 왜 기꺼이 하지 않을까요?

사용자 인터페이스와 명령행은 이것과는 별도로 개발된 프로그램, 바로 이 층의 "대리"이다.Linux 아래에서 이 명령행 프로세스를 Shell이라고 합니다.

Shell은 하나의 응용프로그램으로서, 사용자와 Linux 내핵을 연결하여 사용자가 Linux 내핵을 보다 효율적이고 안전하며 낮은 비용으로 사용할 수 있도록 하는 것이 Shell의 본질입니다.

Shell 자체는 내핵의 일부가 아니며, 내핵의 기초 위에 서서 작성한 하나의 응용프로그램일 뿐 QQ, 천둥, Firefox와 같은 다른 소프트웨어와 다르지 않습니다.그러나 Shell에는 기기를 켜고 바로 작동시켜 사용자 앞에 나타나게 하고, 사용자는 Sh를 통해ell에서 Linux를 사용하고 Shell을 작동하지 않으면 사용자가 Linux를 사용할 수 없습니다.
Shell 사용자와 내핵을 어떻게 연결합니까?
Shell은 사용자가 입력한 명령을 수신하고 명령을 처리하고, 처리가 완료된 후 그 결과를 사용자에게 피드백할 수 있으며, 예를 들어 모니터에 출력하고, 파일에 쓰는 등 이것이 대부분의 독자가 셸을 인지하고 있는 것입니다.보세요, 저는 항상 Shell을 사용하는데 내핵을 사용하는 곳이 어디죠?나도 못 봤어 Shell 나하고 내핵을 연결해주는거야?!

사실 셸 프로그램 자체의 기능은 매우 약하며, 예를 들어 파일 조작, 입출력, 프로세스 관리 등은 모두 내핵에 의존해야 합니다.우리는 명령을 하나 실행하는데 대부분의 경우 Shell 은 내핵으로 노출된 인터페이스를 호출하는데, 이것이 바로 내핵을 사용하는 것이고, 단지 이 과정이 Shell 에 숨겨져 있기 때문에그것은 스스로 뒤에서 묵묵히 진행되어 우리는 볼 수 없을 뿐이다.

인터페이스는 사실 하나의 함수이며, 내핵을 사용하는 것이 이들 함수를 튜닝하는 것입니다.이게 바로 내핵을 사용하는 전부인가요?응, 그래! 함수 말고는 넌 내핵을 사용할 다른 길이 없어.

예를 들어 Shell 에서 cat log.txt 명령을 입력하면 log.txt 파일에 있는 내용을 볼 수 있다는 것을 알고 있지만 log.txt 디스크의 어느 위치에 놓입니까?몇 개의 데이터 블록으로 분할되었습니까?어디서 시작해요 어디서 중지하죠?어떻게 탐촉자를 조작하여 그것을 읽습니까?이 하위 세부 사항 셸은 모두 알지 못하는데, 가서 내핵으로 제공된 open()과 read() 함수를 읽어서 내핵에게 내가 log.txt 파일을 읽어야 한다고 말하고, 나를 도와주십시오.ell 사용자에게 노출(사실 모니터에 나타나려면 아직 의존해야 함)핵). 전체 과정에서 Shell 은 사용자와내핵간에 데이터를 '바꾸다'는 것은 단지 사용자가 모를 뿐이다.
Shell 다른 프로그램도 연결할 수 있음
Shell 에서 입력한 명령 중 일부는 Shell 자체를 가지고 있는 것으로, 이것을 내장 명령이라고 하며, 일부는 다른 응용 프로그램(하나의 프로그램이 하나의 명령인 경우), 이것을 외부 명령이라고 합니다.

Shell 자체에서 지원하는 명령은 많지 않고 기능도 제한적이지만 Shell은 다른 프로세스로 전환할 수 있으며, 각 프로세스는 하나의 명령이며, 이는 Shell 명령의 수를 무한대로 확장하고, 그 결과 Shell의 기능이 매우 강력하고 완전히 승리할 수 있도록 합니다.관리 작업, 예를 들어 텍스트 또는 문자열 검색, 파일 찾기 또는 만들기, 대규모 소프트웨어의 자동 배치, 시스템 설정 변경, 서버 성능 모니터링, 경보 메일 보내기, 웹 페이지 내용 가져오기, 파일 압축 등이 있습니다.

더욱 놀라운 것은 Shell 은 또한 여러 개의 외부 프로그램들을 연결시켜 그들 사이에서 데이터를 편리하게 전달할 수 있다는 것, 즉 한 프로그램의 출력 결과를 다른 프로그램에게 전달하여 입력으로 사용할 수 있다는 것입니다.

여러분이 말하는 Shell 강함은 Shell 자체의 기능이 풍부한 것이 아니라 다른 프로그램을 사용하고 조직하는 데 뛰어납니다.Shell이 바로 리더라는 점이 바로 Shell의 매력입니다.

Shell 전체 Linux 시스템에서의 위상을 다음 그림과 같이 묘사할 수 있습니다.주의 "사용자"와 "다른 응용프로그램"은 점선을 통해 연결되는데, 이는 사용자가 Linux 를 작동시킨 후 직접 대면하는 것이 Shell 을 통해서만 다른 응용프로그램을 실행할 수 있기 때문입니다.

Shell이 전체 리눅스 시스템에서의 위상 표시 의도
Shell에서도 프로그래밍이 지원됨
Shell은 간단한 스택 명령이 아니며, 우리는 또한 Shell에서 프로그래밍할 수 있는데, 이는 C++, C#, Java, Python과 같은 흔한 프로그래밍 언어를 사용하는 것과 다르지 않습니다.

Shell 은 C++, Java, Python 과 같은 강력하지는 않지만 기본적인 프로그래밍 요소, 예를 들어 다음과 같이 지원되었습니다.
if...else 선택 구조, case...in 스위치 어구, for,while,until 순환;
변수, 수 그룹, 문자열, 주석, 더하기, 빼기, 논리적 연산 등의 개념;
함수로서, 사용자가 스스로 정의한 함수와 내장 함수(예를 들어 printf, export, eval 등)를 포함한다.

이 시점에서 Shell 은 일종의 프로그래밍 언어이며, 그것의 컴파일러(해석기)는 Shell 이 프로그램입니다.우리가 평소 말하는 Shell은 사용자와 내핵을 연결하는 이 프로그램을 가리키는 경우도 있고, Shell 프로그래밍을 가리키는 경우도 있습니다.

Shell은 복잡한 업무 논리를 가진 중대형 소프트웨어를 개발하는 대신 주로 실용적이고 자동화된 작은 도구를 개발하는데, 예를 들어 컴퓨터의 하드웨어 파라미터를 검사하고 Web 운영 환경을 구축하는 것, 일지 분석 등을 수행하는 데 매우 적합합니다.

Shell 을 사용하는 숙련도는 Linux 에 대한 사용자의 파악 정도를 반영하며, 운송 엔지니어, 웹 관리자, 프로그래머 모두 Shell 을 배워야 합니다.

특히 Linux 운송 엔지니어는 Shell이 더욱 필수적으로 파악해야 하는 기능으로, 우리가 자동화하여 클러스터를 관리할 수 있도록 해야 하며, 그렇지 않으면 당신은 모든 서버에 하나씩 로그인해야 할 것이고, 아마도 각각의 서버에 대해 동일한 설정을 할 것입니다.많은 시간을 들여 반복적인 작업에 할애합니다.
Shell 은 일종의 스크립트 언어입니다
어떤 코드도 결국 이진법으로 '통역'되어야만 컴퓨터에서 실행될 수 있다.

어떤 프로그래밍 언어는, C/C++, Pascal, Go 언어, 어셈블리와 같이, 프로그램 실행 전에 모든 코드를 이진 형식으로 번역해야 하는, 즉 실행 가능한 파일을 생성하고 사용자가 입수한 것은 최종 실행 가능 파일을 볼 수 없습니다.

이 과정을 컴파일(Compile)이라고 하며, 이러한 프로그래밍 언어를 컴파일러(Compiler)라고 하며, 컴파일러(Compiler)라고 합니다.

어떤 프로그래밍 언어는 Shell, JavaScript, Python, PHP 등과 같이 실행하면서 번역해야 하며 실행 가능한 파일이 하나도 생성되지 않으며 사용자는 소스코드를 가져와야 프로그램을 실행할 수 있습니다.프로그램이 실행되면 즉시 번역하고, 번역을 마치고 일부를 수행하므로, 모든 코드가 번역될 때까지 기다릴 필요가 없습니다.다하다

이 과정을 해석이라고 하며, 이러한 프로그래밍 언어를 해석형 언어 또는 스크립트(스크립트)라고 하며, 해석 과정을 완료하는 소프트웨어를 해석기라고 합니다.

컴파일형 언어의 장점은 실행속도가 빠르고 하드웨어에 대한 요구가 낮으며 기밀성이 좋아 운영체제, 대형 애플리케이션, 데이터베이스 등을 개발하는 데 적합하다는 것이다.

스크립트 언어의 장점은 유연하고 배치가 용이하며 플랫폼성이 뛰어나 Web 개발 및 작은 도구 제작에 매우 적합합니다.

Shell 은 일종의 스크립트 언어이며, 우리는 소스코드를 작성한 후 컴파일하지 않고 소스코드를 실행하면 됩니다.

카테고리 없음

Windows 버전 Docker

 

Windows 버전 Docker

 

 

Windows 버전 Docker에 대해 알기 전에, 독자 분은 먼저 이것이 Docker 회사에서 제공하는 하나의 제품이라는 것을 알아야 합니다.이것은 그것이 다운로드하기 쉽고 매우 유연한 설치기(installer)가 있다는 것을 의미한다.

Windows 버전 Docker는 64비트 Windows 10 운영 체제가 설치된 하나의 컴퓨터를 실행하고 하나의 독립된 엔진을 작동함으로써 Docker 환경을 제공해야 합니다.

다음으로, 독자는 Windows 버전 Docker가 하나의 커뮤니티 버전(Community Edition, CE)의 애플리케이션이라는 것을 알아야 하며, 생산 환경을 위해 설계된 것은 아닙니다.

마지막으로, 독자 분은 Windows 버전 Docker가 어떤 버전의 특성에 있어서 지원 지연일 수 있다는 것도 알아야 합니다.이는 Docker사의 이 제품에 대한 포지셔닝이 안정성이 제일이고 새로운 특성이 그 다음이기 때문입니다.

위의 3포인트가 Windows 버전 Docker에 추가되었습니다. 이 설치는 빠르고 간단하지만 생산 환경 배치를 지원하지는 않습니다.

이제 Windows 버전 Docker를 설치하는 방법에 대해 알아봅니다.

설치하기 전에 Windows 버전 Docker의 환경에는 다음과 같은 요구 사항이 있습니다.

Windows 10 Pro(전문 버전) / Enterprise(기업 버전) / Education(교육 버전)(1607 Anniversary Update, Build 14)393 또는 업데이트된 버전).

Windows는 64비트 버전이어야 합니다.

윈도우즈 운영 체제에서 Hyper-V와 용기 특성을 사용해야 합니다.

다음 절차는 독자의 컴퓨터가 BIOS 설정에서 하드웨어 가상화 지원을 이미 시작했다고 가정합니다.켜져 있지 않으면 독자는 기기에서 다음을 수행해야 합니다.

먼저, 독자는 Windows 10 운영 체제에서 Hyper-V와 용기 특성이 설치되어 있고 켜져 있음을 확인해야 합니다.

1) 오른쪽 버튼으로 Windows 시작 단추 를 클릭하고 "응용 및 기능" 페이지를 선택합니다.

2) "프로그램과 기능" 링크를 클릭합니다.

3) 'Windows 기능 켜기 또는 끄기'를 클릭합니다.

4) Hyper-V와 용기 복선틀이 체크 표시되어 있음을 확인하고 확정 버튼을 클릭한다.

위의 단계를 따라 조작이 완료되면 Hyper-V와 용기 특성이 설치되고 켜집니다 아래 그림과 같이.이때 운영체제를 재가동해야 한다.

Hyper-v 켜기

용기를 열다

이중 용기 특성은 summer 2016 Windows 10 Anniversary Update(build 14393) 버전 또는 더 높은 버전에서만 열 수 있습니다.

독자 분이 Hyper-V와 용기 특성의 설치를 완료하고 기기를 다시 시작할 때 Windows 버전 Docker를 설치할 수 있습니다.

1) Docker의 다운로드(https://www.docker.com/products/docker-desktop) 페이지를 방문하여 그 중 Download for 를 클릭합니다. Windows 버튼.

2) 원클릭 후 Docker 상점으로 넘어가 독자가 자신의 Docker ID를 사용하여 로그인해야 합니다.

3) 임의 Get Docker 다운로드 링크를 클릭합니다.Docker for Windows는 스테이블(Stable) 및 스퀴터 버전(Edge)으로 나分为니다.신선한 판넬에는 새로운 특성들이 포함되어 있지만, 안정적이지 않을 수 있다.정. 다운로드 링크를 클릭하면 Docker for Windows Installer.exe라는 설치 패키지가 묵시 다운로드 목록에 다운로드됩니다.

4) 위에서 다운로드한 설치 패키지를 찾아 실행하면 됩니다.

설치 길잡이를 관리자 자격으로 실행하고, 제시된 대로 한 걸음 한 걸음 전체 설치 과정을 완료합니다.설치가 완료되면 Docker가 시스템 서비스로 자동으로 시작되고 Windows의 알림 표시줄에서 Docker의 큰 고래 그림을 볼 수 있습니다.표시하다

축하합니다! 지금까지 Windows 버전 Docker 설치를 성공적으로 완료했습니다.

 

 

Mac 버전 Docker 도 Docker 사에서 제공하는 하나의 제품입니다.

우리는 크게 Docker를 안심하고 사용할 수 있지만, 먼저 내핵 엔지니어가 될 필요는 없으며, 또한 통할 필요도 없습니다.너무 극빈한 방법으로 Docker를 Mac에 설치합니다.

Mac 버전 Docker는 Docker 사에 의해 커뮤니티 버전에 기반한 Doc입니다.ker 에서 제공하는 하나의 제품.이는 노트북에 단일 엔진 버전의 Docker를 설치하는 것이 매우 간단하다는 것을 의미합니다.

하지만 동시에, 이것은 Mac 버전 Docker가 생산 환경을 위해 설계된 것이 아니라는 것을 의미합니다. 만약 당신이 boot2docker에 대해 들어본 적이 있다면 Mac판 Docker는 매끄럽고 간단하며 안정적인 버전의 boot2doc이다.ker.

Mac 버전 Docker 에게 있어서는 Mac 원생 운영체제에 기반한 것을 제공한다. Darwin 내핵의 Docker 엔진은 별 의미가 없습니다.

그래서 Mac판 Docker 에서 Docker daemon 은하나의 경량급 Linux VM 위에 실행됩니다.

Mac 버전 Docker 를 통해 대외적으로 daemon 과 API를 제공하는 쪽식 및 Mac 환경에는 틈새 없는 통합이 이루어집니다.

이는 독자가 Mac에서 터미널을 열고 Docker 명령을 직접 사용할 수 있음을 의미합니다.

Mac에서 무봉적 통합이 이루어졌음에도 불구하고 Mac 버전 Docker를 명심해야 합니다. 하위 계층은 Linux VM에 기반하여 실행되므로 Mac 버전 Docker는 Linux 에 기반한 Docker 용기만 실행할 수 있습니다.。

하지만 이것은 이미 좋습니다, 왜냐하면 대부분의 용기들은 실제로 Linux에 기반을 두고 있기 때문입니다.

다음 그림은 Mac 버전 Docker의 추상 아키텍처를 보여줍니다.

Mac 버전 Docker의 추상 아키텍처

Mac 버전 Docker는 HyperKit9를 채택하여 하나의 극히 경량을 실현했습니다.클래스의 하이퍼바이저입니다.HyperKit 는 Xhyve Hypervisor 에 기반을 두고 있습니다.

Mac 버전 Docker 도 DataKit 의 어떤 특성을 이용하면서 실행하고 있습니다.하나의 고도로 최적화된 Linux 배포판 Moby(Alpine Linux 기반)입니다.

다음으로 Mac 버전 Docker 설치를 시작합니다.

1) 브라우저를 열고 Docker의 다운로드 페이지(https:// s를 방문합니다. docker.com/products/docker-desktop), 그런 다음 Download for Mac 버튼을 클릭합니다.

2) 페이지가 Docker 상점으로 넘어가 독자가 자신의 Docke를 사용해야 할 것입니다.r ID 와 패스워드를 등록한다.

3) 다운로드 링크 Get Docker CE를 클릭합니다.

Mac 버전 Docker는 두 가지 버전으로 나:니다: 스테이블(Stable)과 스퀴즈 버전(에지). 스퀴터 버전은 몇몇 새로운 특성을 포함하지만 안정적인 실행을 보장하지는 않습니다.

링크를 클릭하면 Docker.dmg 설치 패키지가 다운로드됩니다.

4) 위 단계 중에 다운로드한 Docker.dmg 파일을 실행합니다.대표 Docker 의 고래 아이콘을 끌어 애플리케이션 폴더(Application folder)로 이동합니다.

5) 애플리케이션 폴더를 열고(자동으로 열 수 있음) Docker 애플리케이션 아이콘을 더블 클릭합니다.Docker를 작동하도록 합니다.작동 여부를 확인해야 할 수도 있는데, 이는 인터넷에서 다운로드한 응용 프로그램이기 때문입니다.

6) Mac 사용자 암호를 입력하고, 이렇게 하면 설치 프로그램이 패키지를 만드는 데 필요한 권한을 얻을 수 있습니다.。

7) Docker daemon 프로세스가 작동합니다.

한 이벤트의 고래 아이콘이 화면 위쪽의 상태 열에 나타납니다.일단 Docker가 성공적으로 운반되면자, 고래 아이콘이 정지합니다.고래 아이콘을 클릭하여 DfM을 관리할 수 있습니다.

DfM은 이제 설치가 완료되었으므로, 독자는 하나의 터미널을 열고 자주 사용하는 Do를 실행할 수 있다.cker 명령어.

카테고리 없음

Docker

 

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 회사는 모두 주요 기여자입니다.。

1 2 3 4 5
블로그 이미지

Kimjh7410