플러그인 구성 V1
플러그인 구성 V1 (Plugin Config Version 1 of Plugin V2)
이 문서는 V0 플러그인 구성의 형식을 설명해요.
플러그인 구성은 Docker 엔진 플러그인의 다양한 구성 요소를 설명해요. 플러그인 구성은 다음 미디어 타입으로 JSON 형식으로 직렬화될 수 있어요:
| Config Type | Media Type |
|---|---|
| config | application/vnd.docker.plugin.v1+json |
출처: 문서
본문
구성 필드 설명 (Config Field Descriptions)
Config는 레지스트리에서 V0 플러그인 형식으로 작업하기 위한 기본 접근 가능 필드를 제공해요.
descriptionstring 플러그인에 대한 설명documentationstring 플러그인에 대한 문서 링크interfacePluginInterface 플러그인이 구현하는 인터페이스. 다음 필드로 구성된 구조체:typesstring array 플러그인이 현재 구현하는 인터페이스가 무엇인지 나타내는 types. 지원되는 types:docker.volumedriver/1.0docker.networkdriver/1.0docker.ipamdriver/1.0docker.authz/1.0docker.logdriver/1.0docker.metricscollector/1.0socketstring 엔진이 플러그인과 통신하는 데 사용해야 하는 소켓 이름. 소켓은/run/docker/plugins에 생성돼요.
entrypointstring array 플러그인의 엔트리포인트.ENTRYPOINT참고workdirstring 플러그인의 작업 디렉토리.WORKDIR참고networkPluginNetwork 플러그인의 네트워크. 다음 필드로 구성된 구조체:typestring 네트워크 타입. 지원되는 타입:bridgehostnone
mountsPluginMount array 플러그인의 마운트. 다음 필드로 구성된 구조체.MOUNTS참고.namestring 마운트 이름.descriptionstring 마운트 설명.sourcestring 마운트 소스.destinationstring 마운트 대상.typestring 마운트 타입.optionsstring array 마운트 옵션.
ipchostBoolean 호스트 IPC 네임스페이스 접근.pidhostBoolean 호스트 PID 네임스페이스 접근.propagatedMountstring rshared로 마운트될 경로로, 그 경로 아래의 마운트가 Docker에 보이도록 해요. 볼륨 플러그인에 유용해요. 이 경로는 플러그인 rootfs 밖에 바인드 마운트되므로 그 내용이 업그레이드에도 보존돼요.envPluginEnv array 플러그인의 환경 변수. 다음 필드로 구성된 구조체:namestring 환경 변수 이름.descriptionstring 환경 변수 설명.valuestring 환경 변수 값.
argsPluginArgs 플러그인의 인자. 다음 필드로 구성된 구조체:namestring 인자 이름.descriptionstring 인자 설명.valuestring array 인자 값.
linuxPluginLinuxcapabilitiesstring array (Linux 전용) 플러그인의 capabilities. 목록은여기참고allowAllDevicesBoolean/dev가 호스트에서 바인드 마운트되고 allowAllDevices가 true로 설정되면 플러그인은 호스트의 모든 디바이스에rwm접근을 갖게 돼요.devicesPluginDevice array (Linux 전용) 플러그인의 디바이스. 다음 필드로 구성된 구조체.DEVICES참고.namestring 디바이스 이름.descriptionstring 디바이스 설명.pathstring 디바이스 경로.
예시 구성 (Example Config)
다음 예시는 'tiborvass/sample-volume-plugin' 플러그인 구성을 보여줘요.
{
"Args": {
"Description": "",
"Name": "",
"Settable": null,
"Value": null
},
"Description": "A sample volume plugin for Docker",
"Documentation": "https://docs.docker.com/engine/extend/plugins/",
"Entrypoint": [
"/usr/bin/sample-volume-plugin",
"/data"
],
"Env": [
{
"Description": "",
"Name": "DEBUG",
"Settable": [
"value"
],
"Value": "0"
}
],
"Interface": {
"Socket": "plugin.sock",
"Types": [
"docker.volumedriver/1.0"
]
},
"Linux": {
"Capabilities": null,
"AllowAllDevices": false,
"Devices": null
},
"Mounts": null,
"Network": {
"Type": ""
},
"PropagatedMount": "/data",
"User": {},
"Workdir": ""
}