편집 요약 없음 |
잔글 →기타 |
||
| (사용자 2명의 중간 판 9개는 보이지 않습니다) | |||
| 28번째 줄: | 28번째 줄: | ||
| archive-date = 2019-09-13 | | archive-date = 2019-09-13 | ||
| 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 | ||
}}</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>{{웹 인용 | }}</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/ | ||
| 55번째 줄: | 55번째 줄: | ||
| archive-date = 2015-02-21 | | archive-date = 2015-02-21 | ||
| archive-url = https://web.archive.org/web/20150221134532/http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/ | | archive-url = https://web.archive.org/web/20150221134532/http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/ | ||
}}</ref> | }}</ref> | ||
| 73번째 줄: | 72번째 줄: | ||
| 보존url = https://web.archive.org/web/20130808043357/http://www.linux.com/news/enterprise/cloud-computing/731454-docker-a-shipping-container-for-linux-code/ | | 보존url = https://web.archive.org/web/20130808043357/http://www.linux.com/news/enterprise/cloud-computing/731454-docker-a-shipping-container-for-linux-code/ | ||
| 보존날짜 = 2013-08-08 | | 보존날짜 = 2013-08-08 | ||
}}</ref> | }}</ref> | ||
| 110번째 줄: | 108번째 줄: | ||
| archive-date = 2019-03-27 | | archive-date = 2019-03-27 | ||
| archive-url = https://web.archive.org/web/20190327103543/https://www.cloudave.com/30655/oscon-conversations-deployments-architecture-docker-and-the-future/ | | archive-url = https://web.archive.org/web/20190327103543/https://www.cloudave.com/30655/oscon-conversations-deployments-architecture-docker-and-the-future/ | ||
}}</ref><ref name="Iron.io">{{웹 인용 | }}</ref><ref name="Iron.io">{{웹 인용 | ||
|last = Reeder | |last = Reeder | ||
| 121번째 줄: | 118번째 줄: | ||
|보존url = https://web.archive.org/web/20140808031809/http://blog.iron.io/2014/04/how-docker-helped-us-achieve-near.html | |보존url = https://web.archive.org/web/20140808031809/http://blog.iron.io/2014/04/how-docker-helped-us-achieve-near.html | ||
|보존날짜 = 2014-08-08 | |보존날짜 = 2014-08-08 | ||
}}</ref> | }}</ref> | ||
| 127번째 줄: | 123번째 줄: | ||
도커는 다음을 포함한 다양한 인프라스트럭처 도구들에 통합될 수 있다. | 도커는 다음을 포함한 다양한 인프라스트럭처 도구들에 통합될 수 있다. | ||
* [[아마존 웹 서비스]]<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 | * [[아마존 웹 서비스]]<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}}</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 | * [[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}}</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 | * [[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}}</ref> | ||
* [[Chef]]<ref>{{웹 인용|url=https://github.com/thoward/docker-cookbook |title=thoward/docker-cookbook |publisher=GitHub |date= |accessdate=2014-01-20}}</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> | * [[구글 클라우드 플랫폼]]<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/ | * 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/}}</ref> | ||
* HPE Helion Stackato | * 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> | * [[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> | * [[젠킨스]]<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> | * <s>[[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></s> Kubenetes 1.20부터 지원하지 않는다. | ||
* [[마이크로소프트 애저]]<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>{{웹 인용|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 | * [[오픈스택]] 노바<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}}</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 | * [[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}}</ref> | ||
* 오라클 컨테이너 클라우드 서비스<ref> | * 오라클 컨테이너 클라우드 서비스<ref> | ||
{{웹 인용 | {{웹 인용 | ||
| | | last = Native | ||
| | | first = Cloud | ||
| 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> | * [[퍼핏 (소프트웨어)|퍼핏]]<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 | * [[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}}</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 | * [[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}}</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> | * [[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> | ||
{{웹 인용 | {{웹 인용 | ||
| | | last = Whelan | ||
| | | first = Phil | ||
| title = Cloud Foundry: Diego Explained By Onsi Fakhouri | | title = Cloud Foundry: Diego Explained By Onsi Fakhouri | ||
| url = https://community.spiceworks.com/topic/576560-cloud-foundry-diego-explained-by-onsi-fakhouri | | url = https://community.spiceworks.com/topic/576560-cloud-foundry-diego-explained-by-onsi-fakhouri | ||
| 167번째 줄: | 163번째 줄: | ||
레드햇의 [[오픈시프트]] PaaS는 도커 및 관련 프로젝트(Kubernetes, Geard, Project Atomic 등)를 v3 (2015년 6월)부터 통합한다.<ref> | 레드햇의 [[오픈시프트]] PaaS는 도커 및 관련 프로젝트(Kubernetes, Geard, Project Atomic 등)를 v3 (2015년 6월)부터 통합한다.<ref> | ||
{{뉴스 인용 | {{뉴스 인용 | ||
| | | last = Jackson | ||
| | | first = Joab | ||
| title = Red Hat to update Docker container tech for enterprises: Open source vendor plans to incorporate advanced Linux tools such as systemd and SELinux into Docker | | title = Red Hat to update Docker container tech for enterprises: Open source vendor plans to incorporate advanced Linux tools such as systemd and SELinux into Docker | ||
| url = http://www.computerworld.com/s/article/9247706/Red_Hat_to_update_Docker_container_tech_for_enterprises | | url = http://www.computerworld.com/s/article/9247706/Red_Hat_to_update_Docker_container_tech_for_enterprises | ||
| publisher = Computerworld, Inc. | | publisher = Computerworld, Inc. | ||
| publication-date = 2014-04-16 | | publication-date = 2014-04-16 | ||
| 181번째 줄: | 176번째 줄: | ||
[[Apprenda]] PaaS는 제품 버전 6.0에 도커 컨테이너를 통합한다.<ref> | [[Apprenda]] PaaS는 제품 버전 6.0에 도커 컨테이너를 통합한다.<ref> | ||
{{뉴스 인용 | {{뉴스 인용 | ||
| | | last = Verge | ||
| | | first = Jason | ||
| title = PaaS and Docker Containers Work Together in Latest Apprenda Release | | title = PaaS and Docker Containers Work Together in Latest Apprenda Release | ||
| url = http://www.datacenterknowledge.com/archives/2015/04/28/paas-and-docker-containers-work-together-in-latest-apprenda-release/ | | url = http://www.datacenterknowledge.com/archives/2015/04/28/paas-and-docker-containers-work-together-in-latest-apprenda-release/ | ||
| 192번째 줄: | 187번째 줄: | ||
</ref> | </ref> | ||
== | == 역사 == | ||
솔로몬 하익스는 프랑스에서 [[PaaS]] 기업인 [[닷클라우드]] 안에 내부 프로젝트로서 도커를 시작했다.<ref>{{웹 인용|url=https://www.dotcloud.com/|title=One home for all your apps|date=|website=dotcloud.com|보존url=https://web.archive.org/web/20140517031011/https://www.dotcloud.com/|archivedate=2014-05-17|accessdate=2014-05-08}}</ref> | |||
도커는 2013년 3월 오픈 소스로 출시되었다.<ref name="infoq-201303" /> | |||
== 사용법 == | |||
=== CLI를 | === CLI를 통한 이용 === | ||
=== | === GUI를 통한 이용 === | ||
=== | ==== 도커 데스크탑 ==== | ||
도커를 관리하는 GUI 앱으로 이미지를 검색하여 pull하거나 버튼 몇 번으로 이미지 생성, 빌드가 가능하다. 리눅스에서는 사용 불가능하다. | |||
== | ==== IDE/텍스트 편집기를 통한 이용 ==== | ||
[[비주얼 스튜디오 코드]]에서 확장기능을 이용하면 GUI를 통해서 도커 이미지를 빌드, 컨테이너 실행, 스택 실행 등이 가능하다. <code>docker exec -it <container> bash</code> 같이 일일이 코드를 치지 않고 버튼을 눌러 컨테이너의 쉘에 접근할 수 있다. | |||
==== portainer 사용 ==== | |||
== 도구 == | == 도구 == | ||
=== Docker Compose === | === Docker Compose === | ||
Compose는 멀티 컨테이너 도커 애플리케이션을 정의하고 실행하는 도구이다.<ref>{{웹 인용|url=https://docs.docker.com/compose/overview/ |title=Overview of Docker Compose |accessdate=2017-07-06}}</ref> [[YAML]] 파일을 사용하여 애플리케이션의 서비스를 구성하며 하나의 명령을 가지고 모든 컨테이너의 생성 및 시작 프로세스를 수행한다. 구 | Compose는 멀티 컨테이너 도커 애플리케이션을 정의하고 실행하는 도구이다.<ref>{{웹 인용|url=https://docs.docker.com/compose/overview/ |title=Overview of Docker Compose |accessdate=2017-07-06}}</ref> [[YAML]] 파일을 사용하여 애플리케이션의 서비스를 구성하며 하나의 명령을 가지고 모든 컨테이너의 생성 및 시작 프로세스를 수행한다. 도커 구 버전에서는 docker-compose를 설치하여야 하지만 신 버전은 docker 명령어에 통합되어 도커를 설치하기만 하면 되고 실행 명령어는 docker-compose 대신 docker compose이다. os마다 다르지만 docker를 패키지 매니저를 통해서 설치하면 구 버전이 설치될 수 있어 docker-compose를 별도로 설치해야 하는 경우가 생긴다. 공식 홈페이지에 소개된 설치 코드를 이용하여 설치하면 거의 최신 버전 설치가 된다. | ||
=== Docker Swarm === | === Docker Swarm === | ||
Docker Swarm은 도커 컨테이너의 네이티브 [[컴퓨터 클러스터|클러스터링]] 기능을 제공하며 | Docker Swarm은 도커 컨테이너의 네이티브 [[컴퓨터 클러스터|클러스터링]] 기능을 제공하며 하나의 가상 도커 엔진으로 탈바꿈시킨다.<ref>{{웹 인용|url=https://www.linux.com/news/8-open-source-CONTAINER-ORCHESTRATION-TOOLS-KNOW|title=8 Container Orchestration Tools to Know|date=2017-04-12|accessdate=2017-07-06}}</ref> | ||
도커 스웜은 컨테이너 오케스트레이션을 수행할 수 있게 해주며 여러 컴퓨터(노드)들을 클러스터로 구성했을 때 유용하다. 클러스터 중에서 여유 있는 컴퓨터에 자동으로 애플리케이션이 올라가 실행된다. 도커를 스웜 모드로 전환해야 하며 명령어를 통해 스웜 모드가 활성화된 노드들을 서로 연결시켜주어야 한다. | |||
도커 1.12 이상부터 Swarm 모드가 도커 엔진에 통합되어 있다.<ref>{{웹 인용|url=https://docs.docker.com/swarm/ |title=Docker Swarm |accessdate=2017-07-06}}</ref> | 도커 1.12 이상부터 Swarm 모드가 도커 엔진에 통합되어 있다.<ref>{{웹 인용|url=https://docs.docker.com/swarm/ |title=Docker Swarm |accessdate=2017-07-06}}</ref> | ||
비슷한 소프트웨어로는 [[kubernetes]](쿠버네티스)가 있다. 도커 스웜은 진입 장벽이 낮고 학습자나 취미 이용가들에게 적합한 반면 쿠버네티스는 학습 곡선이 가파르고 초보자에게 어렵지만 기능이 강력하고 풍부해서 상업적으로 쿠버네티스를 사용하는 프로젝트가 많다. IT 관련 직종 스펙인 기술 스택에 쿠버네티스가 있는 경우는 흔하지만 도커 스웜은 상대적으로 드문 편. | |||
== 기타 == | |||
* 도커 안에서 도커를 굴릴 수 있다. 이른바 도커 인 도커(Docker in Docker). 다만 이럴 경우 호스트 도커와 게스트 도커, 그리고 그 안의 컨테이너까지 3중으로 프로세스가 돌아가면서 서버 자원이 상당히 소모된다. Docker out of Docker라고, 게스트 도커가 호스트 도커의 일부 설정을 공유하게 하는 경우도 있는데, 이 경우는 컨테이너 개념이 일부 깨지기에 보안 상으로 영 좋지 않다. 이런 일들이 대표적으로 [[Jenkins|젠킨스]] 같은 지속 통합 소프트웨어를 도커 이미지로 올렸을 때 발생한다. CI 도구로 컨테이너 이미지를 빌드하는 경우가 많기 때문. | |||
* Docker Engine 같은 컨테이너 엔진과, 안드로이드를 비롯한 많은 임베디드 리눅스 개발 환경이 chroot를 비롯하여 많은 도구들을 공유하기 때문에, '이론상으로는' AMD64 기반 혹은 ARM64 기반 고성능 임베디드 시스템을 커스텀 도커 이미지로 만들고 도커 허브에 올린 다음, 이미지만 받아서 바로 그걸 [[Secure Digital|microSD카드]] 같은 플래시 메모리 장치의 부트 로더 파티션 뒤에 리눅스 dd 명령어 등으로 그대로 박아 넣어 부팅하는 짓이 가능하긴 하다. 문제는 AMD64 임베디드 시스템이라면 모를까, ARM64의 경우 개발 환경 및 타겟 장치 구성이 너무 심하게 파편화되어 ARM64 이미지를 커스텀하기 힘들고, RISC-V나 구형 32bit ARM CPU 및 기타 임베디드 시스템용 CPU/MCU를 도커 측에서 지원하지 않아 저걸 실현 가능한 경우의 수가 매우 한정적이라는 것. 아무리 도커 같은 리눅스 컨테이너 엔진이라도 임베디드 시스템 개발 작업까지 커버하기엔 멀어도 한참 멀었다. | |||
== 같이 보기 == | == 같이 보기 == | ||
| 221번째 줄: | 228번째 줄: | ||
* [[서비스 컴포넌트 아키텍처]] | * [[서비스 컴포넌트 아키텍처]] | ||
* [[Podman]] | * [[Podman]] | ||
* [[kubernetes]] | |||
* [[위키백과:베이그런트 (소프트웨어)|Vagrant]] | |||
== 외부 링크 == | == 외부 링크 == | ||
| 226번째 줄: | 235번째 줄: | ||
* [https://www.44bits.io/ko/post/why-should-i-use-docker-container 왜 굳이 도커(컨테이너)를 써야 하나요?] | * [https://www.44bits.io/ko/post/why-should-i-use-docker-container 왜 굳이 도커(컨테이너)를 써야 하나요?] | ||
{{각주|30em}}{{퍼온문서|문서=도커|퍼온곳=위키백과}} | {{각주|30em}} | ||
{{퍼온문서|문서=도커|퍼온곳=위키백과}} | |||
[[분류:자유 소프트웨어]] | [[분류:자유 소프트웨어]] | ||
[[분류:가상화 소프트웨어]] | [[분류:가상화 소프트웨어]] | ||