{{위키데이터 속성 추적}}
{{소프트웨어 정보
| title                  = '''도커<br />Docker'''
| name                   = 도커
| logo                   = Docker (container engine) logo.svg
| screenshot             = 
| caption                = 
| collapsible            = 
| author                 = 솔로몬 하익스(Solomon Hykes)
| developer              = [[도커 (기업)|도커(Docker Inc.)]]
| released               = {{시작 날짜와 나이|2013|03|13|df=yes/no}}
| discontinued           = 
| latest release version = {{wikidata|property|references|edit|P348}}
| latest release date    = {{시작 날짜와 나이|{{wikidata|qualifier|P348|P577}}}}
| latest preview version = 
| latest preview date    = <!-- {{시작 날짜와 나이|YYYY|MM|DD|df=yes/no}} -->
| status                 = 
| programming language   = [[Go (프로그래밍 언어)|Go]]<ref>{{웹 인용|url=https://github.com/docker/distribution |title=Docker source code |work=docs.docker.com |publisher=Docker, Inc. |date=2015-10-12 |accessdate=2015-10-24}}</ref>
| operating system       = [[리눅스]]{{Efn|리눅스가 아닌 운영체제에서 작동하는 도커는 컨테이너를 돌리기 위해 리눅스 [[가상 머신]]을 사용한다.<ref>https://docs.docker.com/installation/windows/#virtual</ref><ref>https://docs.docker.com/installation/mac/#VM</ref>}}, [[마이크로소프트 윈도우|윈도우]], [[macOS]]
| platform               = 현대의 리눅스 커널이 포함된 [[x86-64]], [[ARM 아키텍처|ARM]] (실험적), 하이퍼-V 기능이 포함된 [[x86-64]] 윈도우
| language               = 
| genre                  = [[운영 체제 수준 가상화]]
| license                = [[아파치 라이선스]] 2.0
| website                = {{URL|https://www.docker.com/}}
| frequently updated     = 
}}
'''도커'''(Docker)는 [[리눅스]]의 [[응용 소프트웨어|응용 프로그램]]들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 [[오픈 소스]] 프로젝트이다.

도커 웹 페이지의 기능을 인용하면 다음과 같다:
{{인용문5|도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.<ref>https://www.docker.com/what-docker</ref>}}

도커는 [[리눅스]]에서 [[운영 체제 수준 가상화]]의 추상화 및 자동화 계층을 추가적으로 제공한다.<ref name="SYS-CON Media">{{웹 인용
  | last = O'Gara
  | first = Maureen
  | date = 26 July 2013
  | url = http://maureenogara.sys-con.com/node/2747331
  | title = Ben Golub, Who Sold Gluster to Red Hat, Now Running dotCloud
  | publisher = SYS-CON Media
  | accessdate = 2013-08-09
  | archive-date = 2019-09-13
  | archive-url = https://web.archive.org/web/20190913100835/http://maureenogara.sys-con.com/node/2747331
  | url-status = dead
  }}</ref>
도커는 [[cgroups]]와 커널 [[리눅스 이름공간|이름공간]]과 같은 [[리눅스 커널]]의 기능들과 OverlayFS, [[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/
 | archiveurl = https://web.archive.org/web/20140821065734/http://docker.readthedocs.org/en/v0.7.3/installation/kernel/
 | title = Docker Documentation: Kernel Requirements
 | date = 2014-01-04 | accessdate = 2014-08-20 | archivedate = 2014-08-21
 | website = docker.readthedocs.org
}}</ref>

리눅스 커널의 이름공간 지원은 대체적으로<ref>{{웹 인용|url=http://www.projectatomic.io/blog/2014/09/yet-another-reason-containers-don-t-contain-kernel-keyrings/|title=Yet Another Reason Containers Don't Contain: Kernel Keyrings|author=Dan Walsh|work=projectatomic.io|accessdate=13 April 2015|archive-date=2015-04-13|archive-url=https://web.archive.org/web/20150413062633/http://www.projectatomic.io/blog/2014/09/yet-another-reason-containers-don-t-contain-kernel-keyrings/}}</ref> 프로세스 트리, 네트워크 사용자 ID, 마운트된 파일 시스템을 포함한 운영 환경에 대한 응용 프로그램의 관점을 격리시키지만, 커널의 cgroup들은 CPU, 메모리, 블록 입출력, 네트워크를 포함한 리소스 제한을 제공한다. 버전 0.9부터 도커는 [[libvirt]], [[LXC]] (리눅스 컨테이너), [[systemd-nspawn]]을 통한 추상화된 가상화 인터페이스를 사용하는 것 뿐 아니라 리눅스 커널이 제공하는 가상화 기능을 직접 사용하기 위한 유일한 수단으로 '''{{Mono|libcontainer}}''' [[라이브러리 (컴퓨팅)|라이브러리]]를 포함하고 있다.<ref name="zdnet-7000030397">{{웹 인용
 | url = http://www.zdnet.com/docker-libcontainer-unifies-linux-container-powers-7000030397/
 | title = Docker libcontainer unifies Linux container powers
 | date = 2014-06-11 | accessdate = 2014-07-30
 | author = Steven J. Vaughan-Nichols | publisher = [[ZDNet]]
}}</ref><ref>{{웹 인용
 | url = https://github.com/docker/libcontainer/blob/master/README.md
 | title = libcontainer - reference implementation for containers
 | accessdate = 2014-07-30
 | website = github.com
}}</ref><ref name="docker-blog-201403">{{웹 인용
 | url = http://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
 | title = Docker 0.9: Introducing execution drivers and libcontainer
 | date = 2014-03-10
 | accessdate = 2015-01-20
 | website = docker.com
 | 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/
 | url-status = dead
 }}</ref>

== 개요 ==
[[파일:Docker-linux-interfaces.svg|섬네일|도커는 리눅스 커널의 가상화 기능에 접근하기 위해 각기 다른 인터페이스를 사용할 수 있다.<ref name="docker-blog-201403" />]]

도커 베이스 이미지에 액션을 취하면, 유니언 파일 시스템 계층들이 만들어지고 문서화되는데, 이렇게 함으로써 각 계층은 어떻게 액션을 재생성할지에 대해 완전하게 기술하게 된다. 이러한 전략은 이를테면 완전한 VM과 비교하면 도커의 이미지를 가볍게 만들어주며, 오직 레이어 업데이트만 전파해 주면 된다.

산업 애널리스트 기업 451 리서치에 따르면, "도커는 응용 프로그램과 그 의존성을 가상 컨테이너에 담을 수 있는 도구이며, 이 컨테이너는 어떠한 리눅스 서버에서라도 구동이 가능하다. 이것은 [[사내 소프트웨어|사내]], [[클라우드 컴퓨팅|공용 클라우드]], [[클라우드 컴퓨팅|개인 클라우드]], [[베어 메탈 서버|베어 메탈]] 등 응용 프로그램을 실행할 수 있는 곳에서는 유연성과 이식성을 적용하는데 도움을 준다.<ref name="Linux">{{웹 인용
  | last = Noyes
  | first = Katherine
  | date = 1 August 2013
  | url = http://www.linux.com/news/enterprise/cloud-computing/731454-docker-a-shipping-container-for-linux-code
  | title = Docker: A 'Shipping Container' for Linux Code
  | publisher = [[Linux.com]]
  | accessdate = 2013-08-09
  | 보존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
  | url-status = dead
  }}</ref>

도커는 고급 [[API]]를 구현함으로써 프로세스들을 별도의 장소에서 실행할 수 있는 가벼운 컨테이너들을 제공한다.<ref name="infoq-201303">{{웹 인용
  | last = Avram
  | first = Abel
  | date = 2013-03-27
  | url = http://www.infoq.com/news/2013/03/Docker
  | title = Docker: Automated and Consistent Software Deployments
  | publisher = InfoQ
  | accessdate = 2013-08-09
}}</ref>

[[리눅스 커널]]이 제공하는 기능들(주로 cgroups와 이름공간) 위에 빌드되기 때문에 도커 컨테이너는 가상 머신과는 달리 별도의 운영 체제를 요구하거나 포함하지 않는다.<ref name="Linux" /> 그 대신, 커널의 기능에 의존하며 리소스 격리(CPU, 메모리, 블록 입출력, 네트워크 등) 및 [[이름공간 격리|격리된 이름공간]]을 사용하여 운영 체제에 대한 응용 프로그램의 관점을 격리시킨다. 도커는 도커 0.9대부터 이용 가능한 {{Mono|libcontainer}} 라이브러리를 사용하거나 {{Mono|[[libvirt]]}}, {{Mono|[[LXC]]}} (리눅스 컨테이너), 또는 {{Mono|[[systemd-nspawn]]}}을 통해 간접적으로 리눅스 커널의 가상화 기능들에 접근한다.<ref name="docker-blog-201403" /><ref name="infoq-201403">{{웹 인용
  | last = Swan
  | first = Chris
  | date = 2014-03-13
  | url = http://www.infoq.com/news/2014/03/docker_0_9
  | title = Docker drops LXC as default execution environment
  | publisher = InfoQ
  | accessdate = 2015-01-20
}}</ref>

도커는 매우 가볍기 때문에, 하나의 서버나 가상 머신이 여러 컨테이너들을 동시에 구동할 수 있다.

컨테이너를 사용하여 리소스를 격리시키고, 서비스를 제한시키며, 프로세스를 예비할 수 있으며 이렇게 하여 자신만의 프로세스 ID 공간, 파일 시스템 구조, 네트워크 인터페이스를 갖고서 운영 체제에 대하여 거의 완전히 개인화된 관점을 갖게 한다. 여러 개의 컨테이너들은 동일한 커널은 공유하지만 각 컨테이너는 CPU, 메모리, 입출력과 같이 오직 정의된 양의 리소스에만 제한을 받을 수 있다.

도커를 사용하여 컨테이너를 만들고 관리하면 다수의 응용 프로그램, 작업자의 작업, 다른 프로세스들이 자율적으로 하나의 물리 머신이나 여러 개의 가상 머신을 통해 구동될 수 있게 되므로 고도의 [[분산 시스템]]을 생성하는 일이 단순해진다. 리소스가 사용 가능해질 때 또는 더 많은 노드가 필요할 때 노드가 배치될 수 있게 하므로 [[Apache Cassandra]], [[몽고DB]], [[Riak]]와 같은 시스템을 위한 [[PaaS]] 스타일의 배치 및 규모 증강이 가능해진다. 또, 도커는 작업이나 워크로드 큐, 기타 분산 시스템들의 생성 및 운영을 단순하게 한다.<ref name="CloudAve">{{웹 인용
  | last = Hall
  | first = Adron
  | date = 31 July 2013
  | url = http://www.cloudave.com/30655/oscon-conversations-deployments-architecture-docker-and-the-future/
  | title = OSCON : Conversations, Deployments, Architecture, Docker and the Future?
  | publisher = CloudAve
  | accessdate = 2013-08-09
  | 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/
  | url-status = 
  }}</ref><ref name="Iron.io">{{웹 인용
 |last         = Reeder
 |first        = Travis
 |date         = 22 April 2014
 |url          = http://blog.iron.io/2014/04/how-docker-helped-us-achieve-near.html
 |title        = How Docker Helped Us Achieve the (Near) Impossible
 |publisher    = Iron.io
 |accessdate   = 2014-07-25
 |보존url    = https://web.archive.org/web/20140808031809/http://blog.iron.io/2014/04/how-docker-helped-us-achieve-near.html
 |보존날짜 = 2014-08-08
 |url-status = dead
}}</ref>

=== 통합 ===
도커는 다음을 포함한 다양한 인프라스트럭처 도구들에 통합될 수 있다: [[아마존 웹 서비스]],<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
| first1                = Cloud
| title                 = Oracle Container Cloud Service Explained By Oracle.com
| url                   = https://cloud.oracle.com/container}}
</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>{{웹 인용
 |last1            = Whelan
 |first1           = Phil
 |title            = Cloud Foundry: Diego Explained By Onsi Fakhouri
 |url              = https://community.spiceworks.com/topic/576560-cloud-foundry-diego-explained-by-onsi-fakhouri
 |publisher        = ActiveState
 |publication-date = 2014-09-03
 |accessdate       = 2015-04-20
 |quote            = Functionality is being added to enable end-users to push Docker images directly into a Cloud Foundry cluster running Diego.
 |archive-date     = 2014-10-24
 |archive-url      = https://web.archive.org/web/20141024020438/http://community.spiceworks.com/topic/576560-cloud-foundry-diego-explained-by-onsi-fakhouri
 |url-status       = 
}}</ref>

레드햇의 [[오픈시프트]] PaaS는 도커 및 관련 프로젝트(Kubernetes, Geard, Project Atomic 등)를 v3 (2015년 6월)부터 통합한다.<ref>{{뉴스 인용
 |last1            = Jackson
 |first1           = 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
 |url              = http://www.computerworld.com/s/article/9247706/Red_Hat_to_update_Docker_container_tech_for_enterprises
 |newspaper        = Computerworld
 |publisher        = Computerworld, Inc.
 |publication-date = 2014-04-16
 |accessdate       = 2014-05-29
 |quote            = Red Hat has also started a second community project, called GearD, to integrate Docker into its PaaS (platform-as-a-service) hosting software, OpenShift Origin.
 |archive-date     = 2014-05-30
 |archive-url      = https://web.archive.org/web/20140530024711/http://www.computerworld.com/s/article/9247706/Red_Hat_to_update_Docker_container_tech_for_enterprises
 |url-status       = 
}}</ref>

[[Apprenda]] PaaS는 제품 버전 6.0에 도커 컨테이너를 통합한다.<ref>
{{뉴스 인용
| last1                 = Verge
| first1                = Jason
| 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/
| publisher             = Data Center Knowledge
| publication-date      = 2015-04-28
| accessdate            = 2015-12-06
| quote                 = The 6.0 release integrates Docker’s flexibility and portability with the compliance, governance and security capabilities that enterprises need from PaaS.
}}
</ref>

== 역사 ==
솔로몬 하익스는 프랑스에서 [[PaaS]] 기업인 [[닷클라우드]] 안에 내부 프로젝트로서 도커를 시작했다.<ref>{{웹 인용|url=https://www.dotcloud.com/ |title=One home for all your apps |website=dotcloud.com |date= |accessdate=2014-05-08 |url-status=dead |archiveurl=https://web.archive.org/web/20140517031011/https://www.dotcloud.com/ |archivedate=2014-05-17 |df= }}</ref>

도커는 2013년 3월 오픈 소스로 출시되었다.<ref name="infoq-201303" />

== 도구 ==
=== Docker Compose ===
Compose는 멀티 컨테이너 도커 애플리케이션을 정의하고 실행하는 도구이다.<ref>{{웹 인용|url=https://docs.docker.com/compose/overview/ |title=Overview of Docker Compose |accessdate=2017-07-06}}</ref> [[YAML]] 파일을 사용하여 애플리케이션의 서비스를 구성하며 하나의 명령을 가지고 모든 컨테이너의 생성 및 시작 프로세스를 수행한다.

=== 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>

== 같이 보기 ==
{{위키공용분류}}
* [[데브옵스]]
* [[마이크로서비스]]
* [[서비스 컴포넌트 아키텍처]]

== 각주 ==
; 내용주
{{notelist}}
; 참조주
{{각주|30em}}

== 외부 링크 ==
* {{공식 웹사이트}}
* {{github|dotcloud/docker}}
* {{유튜브|VeiUjkiqo9E|Docker 101 Tutorial}}
* {{github|docker/libcontainer/|libcontainer git repo}}
* [https://www.44bits.io/ko/post/why-should-i-use-docker-container 왜 굳이 도커(컨테이너)를 써야 하나요?]

{{가상화 소프트웨어}}

[[분류:자유 소프트웨어]]
[[분류:운영 체제 보안]]
[[분류:컨테이너화 소프트웨어]]
[[분류:운영체제 기술]]
[[분류:자유 가상화 소프트웨어]]
[[분류:Go로 작성된 자유 소프트웨어]]
[[분류:아파치 라이선스 소프트웨어]]