Docker의 전체 소개
만약 당신이 나와 같다면, 아주 오래 전에 Docker를 들은 적이 있지만, 그것이 무엇을 하는지 모른다면, 여기에 남아라. 우리는 당신에게 당신이 필요로 하는 모든 것을 제공하고, 당신을 시작하게 할 것이다.
소개하다.
우선 기초부터 시작하자.Docker가 무엇인지, 왜 Docker인지 이해하기 위해서는 가상 컴퓨터가 어떻게 작동하는지 기본적으로 알아야 한다.간단하게 보기 위해서 어떻게 사이트를 활력 있게 하는 일을 조직합니까?
가상 시스템
면책 성명: 가상 기기에 대한 경험이 거의 없다고 가정하고 이 부분을 건너가세요.
이론
당신은 마침내 당신의 응용 프로그램을 개발하여 모든 수요를 만족시켰습니다. 모든 테스트는 녹색입니다. 당신의 고객(혹시 당신 자신일지도 몰라요?)그는 매우 만족한다.지금은 대중에게 응용 프로그램을 발표할 때이다.
컴퓨터에서 제품을 개발할 때, 응용 프로그램이 전천후에 실행될 수 있는 컴퓨터가 필요하지 않습니까?다음은 서버에 응용 프로그램을 위탁 관리해야 하는 부분입니다.
서버는 기본적으로 CPU, RAM 등에 필요한 모든 구성 요소를 포함하는 물리적인 대형 하드웨어입니다.선택한 서비스 공급자가 제공하는 이 서버에서, 그들은 사용자가 비용을 지불하기로 결정한 가상 머신을 포함하여 여러 개의 가상 머신을 시작할 것입니다.
호텔 비교
표현하기 편리하도록 호텔과 비교하는 것을 좋아합니다.
이 호텔은 테마 객실(정글, 선녀 등)으로 유명하다.
호텔이 건설되었을 때, 자원, 이곳에서 일하는 사람, 예약 등을 포함한 모든 것을 관리하는 사람을 선택했다. 우리는 그를 관리 프로그램이라고 부른다.
누군가가 방을 예약하려고 하면 가상 기기 모니터링 프로그램이 전화를 받고 이루어진다.정글을 주제로 한 중형 방을 원하십니까?문제 없어요.아이들에게 동화 같은 세상을 줄까?문제 없어요.그는 너의 요구에 따라 호텔의 구체적인 자원을 제공할 것이다.
이것이 바로 서버에서 발생한 상황입니다.그것은 필요할 때 특정한 설정을 가진 몇 개의 가상 기기를 시작할 수 있는 가상 기기 모니터링 프로그램을 가지고 있다.정글을 주제로 한 중형 방은 사실상 i5, 8GB 메모리와 리눅스 운영체제가 있는 가상 컴퓨터이다.
만약 당신이 이미 이 업계에서 충분한 시간을 일했다면, 당신은 과거의 나날 동안, 우리는 자신을 위해 서버 전체의 비용을 지불해야 했고, 이것은 더욱 높은 비용을 초래했다는 것을 기억할 것이다.우리는 단지 자신의 수요를 만족시키기 위해 일부 서버를 얻을 수 없다.이 점을 호텔과 비교하기 위해서, 우리는 방 하나만 있어도 호텔 전체를 예약해야 한다.
기본적으로 가상 시스템은 우리가 한 서버를 여러 서버로 전환할 수 있도록 허락한다.싱글룸 호텔
여러분은 가상화를 환영하고 계십니까?
결점
비록 우리가 이전에 한 것과 비교하면 혁명이지만 기계의 가상화는 몇 가지 단점이 있다.
그것들의 시동 속도는 매우 느리다. 왜냐하면 그것들이 가지고 있는 것은 전체 운영체제이기 때문에 처음부터 설치해야 한다.
그것들은 매우 무거운데, 원인은 위에서 설명한 것과 같다.최대 10GB의 공간을 차지할 수 있습니다.
응용 프로그램이 운영체제에 연결되거나 여러 개의 가상 머신이 필요합니다. 응용 프로그램이 서로 다른 수요를 가진 서비스로 나누어져 있다고 상상해 보세요.호환성 문제가 발생할 수 있습니다.이 문제를 해결하려면 모든 사람에게 적용되는 버전을 찾거나 다른 OS 버전으로 다른 VM을 시작하고 필요한 서비스를 시작하십시오.
Docker는 어떻게 이 문제를 해결합니까?
Docker를 사용하여 응용 프로그램을 원하는 컨테이너에 패키지화할 수 있습니다.그런데 용기가 뭐예요?
용기는 기본적으로 경량급, 신속, 이식 가능한 소프트웨어이다.너는 그것이 마치 밀봉된 병처럼 안에 배가 있다고 상상할 수 있다.네가 그것을 어디에 두든지, 언제든지, 그것은 같은 외관을 가질 것이다.거꾸로 놓인 것만 아니면
잠시 후 용기를 만들기 시작할 것입니다. 일반적인 이해에 주목합시다.
그래, 용기가 멋있어 보이는데 왜 그걸 써?왜 Docker야?
앞에서 보듯이 가상 기기는 매우 무거워서 가동하는 데 많은 시간이 걸린다. 왜냐하면 그들은 자신의 핵과 운영체제를 설치해야 하기 때문이다.저희 호텔 예시에서 이렇게 번역할 수 있습니다: 새 방을 예약하셨습니까?좋아, 우리는 모두를 소집해서 네 뜻대로 이걸 만들 거야.이것은 사람, 재료, 전기, 물을 포함한다.잠깐만요.
이것이 바로 Docker가 행동을 취하는 곳이다."모든 것을 지어라!"라고 말하지 말고,Docker가 와서 가상 기기 모니터링 프로그램을 시작하고 "그래, 정글 기반의 방을 원해? 여기 있는 예비 부품을 복제해서 제자리에 놓자."라고 말했다.
신기해 보이죠?예상한 바와 같이 VM과 달리 Docker를 사용할 때 가상 컴퓨터 모니터가 필요하지 않습니다.리눅스 (또는 리눅스 기반 시스템) 를 기반으로 Docker를 설치하고 여러 방을 시작하는 서버가 기본적으로 있을 것이다.이 방들은 유명한 용기다.
왜 이렇게 가벼워?모든 컨테이너가 같은 밑줄 커널을 공유하고 VM에는 매번 하나의 커널이 필요하기 때문입니다.이것은 작은 게임 파괴자로서 그들이 몇 초 안에 시작할 수 있게 할 수 있다. 정말이다.같은 커널을 공유하는 것은 리눅스 기반 시스템에서만 리눅스 컨테이너를 시작할 수 있고 Windows 기반 시스템에서는 Windows 컨테이너만 시작할 수 있다는 단점이 있다.
Docker 기본 사항
컨테이너
앞에서 보듯이 용기는 기본적으로 Docker의 빵과 버터입니다. 용기는 응용 프로그램이 특정한 수요를 충족시키기 위해 매우 고립된 시스템에 들어갈 수 있도록 합니다.
그것들은 어떻게 생겼습니까?Docker 컨테이너를 어떻게 시작합니까?
우선 그림이 필요합니다.우리는 잠시 후에 그림이 무엇인지, 그리고 그림을 만드는 방법을 설명할 것이다.지금 당신이 알아야 할 것은 그림이 거의 용기를 만드는 데 쓰이는 금형이라는 것이다.
현재, 우리는 이미 만든 그림을 사용할 것입니다.대부분의 가장 큰 기술은 자신의 공식 이미지를 가지고 있는데 예를 들어NodeJS,Postgree,MongodB,Redis 등이다.잠깐만요.Docker 공식 사이트 Docker Hub 에서 그것들을 찾을 수 있습니다.
우리 그중의 하나와 함께 놀자.
우선, 사진, 당신의 금형을 다운로드합시다.
docker pull hello-world
이 명령은 Docker Hub에 직접 전송되며 사용 가능한 최신 버전이 제공됩니다.다운로드 후 이미지를 삭제하지 않으면 컴퓨터에서 사용할 수 있습니다.(다음 장의 그림 더 보기)이제 네가 얻었으니 뭘 좀 해야겠지?첫 번째 컨테이너를 만듭니다.
docker run hello-world
너는 콘솔에 문자 한 통이 나타나는 것을 보게 될 것이다. 축하한다. 모든 것이 정상이다.모든 컨테이너를 보려면 다음을 입력합니다.
docker container ls -a
이 명령은 필요한 모든 정보를 수집합니다.이것은 용기가 거의 아무것도 하지 않는 매우 기본적인 예이다.용기를 만드는 방법을 빠르게 알 수 있도록 하기 위해서입니다.
더욱 구체적인 MongoDB 데이터베이스 예시에 대해 Docker팀에서 사용하도록 권장합니다this official tutorial.
이미지
우리는 방금 이미지 기반 용기를 만들었다.그럼 그림은 뭘까요?
이것은 매우 간단하다.그림은 하나의 모형, 하나의 설명, 어떻게 조작하는지 설명하는 패키지
컨테이너를 생성합니다.그것들은 하나다.dockerfile에는 어떻게 구축하는지에 대한 설명이 포함되어 있습니다.
너는 다른 그림에 따라 자신의 그림을 만들 수 있다. 모든 것이 가능하다.Linux 릴리스에 사용자 정의 소프트웨어를 추가하시겠습니까?그림만 받으면 네 것을 써라.dockerfile을 Docker hub에 발표하면 모든 사람이 그것을 얻을 수 있습니다!
이게 다야, 정말.
나는 네가 이 빠른 Docker 세계로 들어가는 소개를 좋아하길 바란다.이것은 매우 높은 차원의 개술이다. 이것은 매우 복잡한 전체 생태계이고 발견해야 할 것이 많다!
너는 Othrys website에서 원시 문장을 찾을 수 있고, 너는 나를 따르거나 여기에 나를 표시해서 이 문장을 토론할 수 있다.
Reference
이 문제에 관하여(Docker의 전체 소개), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chandelieraxel/a-complete-introduction-to-docker-o6m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)