편집 요약 없음 |
편집 요약 없음 |
||
| 29번째 줄: | 29번째 줄: | ||
| archive-url = https://web.archive.org/web/20190913100835/http://maureenogara.sys-con.com/node/2747331 | | archive-url = https://web.archive.org/web/20190913100835/http://maureenogara.sys-con.com/node/2747331 | ||
| url-status = dead | | url-status = dead | ||
}}</ref> | }}</ref> 도커는 [[cgroups]]와 커널 [[리눅스 이름공간|이름공간]]과 같은 [[리눅스 커널]]의 기능들과 OverayFS, [[aufs]]와 같은 [[유니언 마운트|유니언 가능 파일 시스템]]의 리소스 격리 기능을 사용하며,<ref>{{웹 인용|title = docker/docker|url = https://github.com/docker/docker/blob/990a3e30fa66e7bd3df3c78c873c97c5b1310486/daemon/graphdriver/driver.go#L37-L43|website = GitHub|accessdate = 2015-12-29}}</ref> 이를 통해 독립적인 "컨테이너"가 하나의 리눅스 인스턴스 안에서 실행할 수 있게 함으로써 [[가상 머신]]을 시작하여 유지보수해야 하는 부담을 없애준다.<ref>{{웹 인용 | ||
도커는 [[cgroups]]와 커널 [[리눅스 이름공간|이름공간]]과 같은 [[리눅스 커널]]의 기능들과 OverayFS, [[aufs]]와 같은 [[유니언 마운트|유니언 가능 파일 시스템]]의 리소스 격리 기능을 사용하며,<ref>{{웹 인용|title = docker/docker|url = https://github.com/docker/docker/blob/990a3e30fa66e7bd3df3c78c873c97c5b1310486/daemon/graphdriver/driver.go#L37-L43|website = GitHub|accessdate = 2015-12-29}}</ref> 이를 통해 독립적인 "컨테이너"가 하나의 리눅스 인스턴스 안에서 실행할 수 있게 함으로써 [[가상 머신]]을 시작하여 유지보수해야 하는 부담을 없애준다.<ref>{{웹 인용 | |||
| url = http://docker.readthedocs.org/en/v0.7.3/installation/kernel/ | | url = http://docker.readthedocs.org/en/v0.7.3/installation/kernel/ | ||
| archiveurl = https://web.archive.org/web/20140821065734/http://docker.readthedocs.org/en/v0.7.3/installation/kernel/ | | archiveurl = https://web.archive.org/web/20140821065734/http://docker.readthedocs.org/en/v0.7.3/installation/kernel/ | ||
| 87번째 줄: | 86번째 줄: | ||
}}</ref> | }}</ref> | ||
[[리눅스 커널]]이 제공하는 기능들(주로 cgroups와 이름공간) 위에 빌드되기 때문에 도커 컨테이너는 가상 머신과는 달리 별도의 운영 체제를 요구하거나 포함하지 않는다.<ref name="Linux" /> 그 대신, 커널의 기능에 의존하며 리소스 격리(CPU, 메모리, 블록 입출력, 네트워크 등) 및 [[이름공간 격리|격리된 이름공간]]을 사용하여 운영 체제에 대한 응용 프로그램의 관점을 격리시킨다. 도커는 도커 0.9대부터 이용 가능한 | [[리눅스 커널]]이 제공하는 기능들(주로 cgroups와 이름공간) 위에 빌드되기 때문에 도커 컨테이너는 가상 머신과는 달리 별도의 운영 체제를 요구하거나 포함하지 않는다.<ref name="Linux" /> 그 대신, 커널의 기능에 의존하며 리소스 격리(CPU, 메모리, 블록 입출력, 네트워크 등) 및 [[이름공간 격리|격리된 이름공간]]을 사용하여 운영 체제에 대한 응용 프로그램의 관점을 격리시킨다. 도커는 도커 0.9대부터 이용 가능한 libcontainer 라이브러리를 사용하거나 [[libvirt]], [[LXC]] (리눅스 컨테이너), 또는 [[systemd-nspawn]]을 통해 간접적으로 리눅스 커널의 가상화 기능들에 접근한다.<ref name="docker-blog-201403" /><ref name="infoq-201403">{{웹 인용 | ||
| last = Swan | | last = Swan | ||
| first = Chris | | first = Chris | ||
| 126번째 줄: | 125번째 줄: | ||
=== 통합 === | === 통합 === | ||
도커는 다음을 포함한 다양한 인프라스트럭처 도구들에 통합될 수 있다: [[아마존 웹 서비스]] | 도커는 다음을 포함한 다양한 인프라스트럭처 도구들에 통합될 수 있다: [[아마존 웹 서비스]]<ref>{{웹 인용 |url=https://docs.docker.com/installation/amazon/ |title=Amazon EC2 - Docker Documentation |website=docs.docker.com |date= |accessdate=2014-10-18 |보존url=https://archive.today/20141018090321/https://docs.docker.com/installation/amazon/ |보존날짜=2014-10-18 |url-status=dead }}</ref>, [[Ansible]]<ref>{{웹 인용 |author=/ |url=https://github.com/ansible/ansible/blob/devel/library/cloud/docker |title=ansible/library/cloud/docker |publisher=[[GitHub]] |date= |accessdate=2014-01-20 |보존url=https://archive.today/20131227071413/https://github.com/ansible/ansible/blob/devel/library/cloud/docker |보존날짜=2013-12-27 |url-status=dead }}</ref>, [[CFEngine]]<ref>{{웹 인용|url=http://docs.docker.com/examples/cfengine_process_management/|title=CFEngine|publisher=CFEngine|date=|accessdate=2014-06-06|보존url=https://web.archive.org/web/20140613180312/http://docs.docker.com/examples/cfengine_process_management/|보존날짜=2014-06-13|url-status=dead}}</ref>, [[Chef]]<ref>{{웹 인용|url=https://github.com/thoward/docker-cookbook |title=thoward/docker-cookbook |publisher=GitHub |date= |accessdate=2014-01-20}}</ref>, [[구글 클라우드 플랫폼]]<ref>{{웹 인용|title=Containers on Google Cloud Platform|url=https://cloud.google.com/compute/docs/containers|publisher=Google Inc}}</ref>, IBM [[블루믹스]]<ref>{{웹 인용 |url=https://developer.ibm.com/bluemix/2014/12/04/ibm-containers-beta-docker/ |title=Bluemix Launches IBM Containers Beta Based on Docker |publisher=IBM |date=2014-12-04 |accessdate=2015-04-20 |archive-date=2015-04-28 |archive-url=https://web.archive.org/web/20150428181821/https://developer.ibm.com/bluemix/2014/12/04/ibm-containers-beta-docker/ |url-status=dead }}</ref>, HPE Helion Stackato, [[Jelastic]]<ref>{{웹 인용 |url=http://www.prweb.com/releases/2014/12/prweb12361294.htm/ |title=Jelastic Announces Docker Integration to Provide the Most Advanced Orchestrated Application Delivery |publisher=PRWeb|date= |accessdate=2014-12-03}}</ref>, [[젠킨스]]<ref>{{웹 인용|url=https://github.com/georgebashi/jenkins-docker-plugin |title=georgebashi/jenkins-docker-plugin |publisher=GitHub |date= |accessdate=2017-01-09}}</ref>, [[Kubernetes]]<ref name="containerizing-docker-on-Kubernetes">{{뉴스 인용 |last=Surana |first=Ramit |url=https://www.linkedin.com/pulse/containerizing-docker-kubernetes-ramit-surana |title=Containerizing Docker on Kubernetes |work=[[LinkedIn]] |date=2015-09-16 |accessdate=2015-11-02 }}</ref>, [[마이크로소프트 애저]]<ref>{{웹 인용|url=https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-docker-vm-extension/|title=The Docker Virtual Machine Extension for Linux on Azure|date=29 June 2015|publisher=Microsoft|accessdate=11 August 2015|archive-date=2016-03-17|archive-url=https://web.archive.org/web/20160317130223/https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-docker-vm-extension/}}</ref>, [[오픈스택]] 노바<ref>{{웹 인용 |author=Stefano Maffulli |url=http://www.openstack.org/blog/2013/06/openstack-community-weekly-newsletter-may-31-june-7/ |title=OpenStack Community Weekly Newsletter (May 31 – June 7) » The OpenStack Blog |publisher=Openstack.org |date=2013-06-07 |accessdate=2014-01-20 |보존url=https://web.archive.org/web/20131229025044/http://www.openstack.org/blog/2013/06/openstack-community-weekly-newsletter-may-31-june-7/ |보존날짜=2013-12-29 |url-status=dead }}</ref>, [[OpenSVC]]<ref>{{웹 인용 |url=http://docs.opensvc.com/virtualization.docker.html |title=OpenSVC Docker |publisher=OpenSVC |date= |accessdate=2014-05-29 |보존url=https://web.archive.org/web/20140531090525/http://docs.opensvc.com/virtualization.docker.html |보존날짜=2014-05-31 |url-status=dead }}</ref>, 오라클 컨테이너 클라우드 서비스<ref> | ||
{{웹 인용 | {{웹 인용 | ||
| last1 = Native | | last1 = Native | ||
| 132번째 줄: | 131번째 줄: | ||
| title = Oracle Container Cloud Service Explained By Oracle.com | | title = Oracle Container Cloud Service Explained By Oracle.com | ||
| url = https://cloud.oracle.com/container}} | | url = https://cloud.oracle.com/container}} | ||
</ref> [[퍼핏 (소프트웨어)|퍼핏]] | </ref>, [[퍼핏 (소프트웨어)|퍼핏]]<ref>{{웹 인용 | author = Gareth Rushgrove | url = http://forge.puppetlabs.com/garethr/docker | title = garethr/docker | publisher = Puppet Forge | date = | accessdate = 2014-01-20 }}</ref>, [[Salt]]<ref>{{웹 인용 |url=http://docs.saltstack.com/ref/modules/all/salt.modules.dockerio.html#module-salt.modules.dockerio |title=saltstack/dockerio |accessdate=2014-01-20 |보존url=https://web.archive.org/web/20140203185236/http://docs.saltstack.com/ref/modules/all/salt.modules.dockerio.html#module-salt.modules.dockerio |보존날짜=2014-02-03 |url-status=dead }}</ref>, [[Vagrant]]<ref>{{웹 인용 |url=https://github.com/philspitler/vagrant-docker |title=philspitler/vagrant-docker |publisher=GitHub |date= |accessdate=2014-01-20 |보존url=https://archive.today/20130809164628/https://github.com/philspitler/vagrant-docker |보존날짜=2013-08-09 |url-status=dead }}</ref>, [[VMware vSphere|VMware vSphere Integrated Containers]]<ref>http://searchservervirtualization.techtarget.com/definition/VMware-vSphere-Integrated-Containers-VIC VMware vSphere Integrated Containers (VIC)</ref><ref>http://thenewstack.io/vmwares-photon-platform-and-how-it-treats-containers/ VMware’s Photon Platform and How it Treats Containers</ref> | ||
클라우드 파운드리 Diego 프로젝트는 도커를 [[클라우드 파운드리]] [[PaaS]]에 통합한다.<ref> | 클라우드 파운드리 Diego 프로젝트는 도커를 [[클라우드 파운드리]] [[PaaS]]에 통합한다.<ref> | ||
| 182번째 줄: | 181번째 줄: | ||
=== IDE/텍스트 편집기를 통한 이용 === | === IDE/텍스트 편집기를 통한 이용 === | ||
[[비주얼 스튜디오 코드]]에서 docker 확장기능을 이용하면 GUI를 통해서 도커 이미지를 생성, 빌드, 컨테이너 실행 등이 가능하다. docker exec -it <container> bash 같이 일일이 코드를 치지 않고 버튼을 눌러 컨테이너의 쉘에 접근할 수 있다. | [[비주얼 스튜디오 코드]]에서 docker 확장기능을 이용하면 GUI를 통해서 도커 이미지를 생성, 빌드, 컨테이너 실행 등이 가능하다. <code>docker exec -it <container> bash</code> 같이 일일이 코드를 치지 않고 버튼을 눌러 컨테이너의 쉘에 접근할 수 있다. | ||
== 역사 == | == 역사 == | ||