플러그인 구성 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 플러그인 형식으로 작업하기 위한 기본 접근 가능 필드를 제공해요.

  • description string 플러그인에 대한 설명
  • documentation string 플러그인에 대한 문서 링크
  • interface PluginInterface 플러그인이 구현하는 인터페이스. 다음 필드로 구성된 구조체:
    • types string array 플러그인이 현재 구현하는 인터페이스가 무엇인지 나타내는 types. 지원되는 types:
    • docker.volumedriver/1.0
    • docker.networkdriver/1.0
    • docker.ipamdriver/1.0
    • docker.authz/1.0
    • docker.logdriver/1.0
    • docker.metricscollector/1.0
    • socket string 엔진이 플러그인과 통신하는 데 사용해야 하는 소켓 이름. 소켓은 /run/docker/plugins에 생성돼요.
  • entrypoint string array 플러그인의 엔트리포인트. ENTRYPOINT 참고
  • workdir string 플러그인의 작업 디렉토리. WORKDIR 참고
  • network PluginNetwork 플러그인의 네트워크. 다음 필드로 구성된 구조체:
    • type string 네트워크 타입. 지원되는 타입:
    • bridge
    • host
    • none
  • mounts PluginMount array 플러그인의 마운트. 다음 필드로 구성된 구조체. MOUNTS 참고.
    • name string 마운트 이름.
    • description string 마운트 설명.
    • source string 마운트 소스.
    • destination string 마운트 대상.
    • type string 마운트 타입.
    • options string array 마운트 옵션.
  • ipchost Boolean 호스트 IPC 네임스페이스 접근.
  • pidhost Boolean 호스트 PID 네임스페이스 접근.
  • propagatedMount string rshared로 마운트될 경로로, 그 경로 아래의 마운트가 Docker에 보이도록 해요. 볼륨 플러그인에 유용해요. 이 경로는 플러그인 rootfs 밖에 바인드 마운트되므로 그 내용이 업그레이드에도 보존돼요.
  • env PluginEnv array 플러그인의 환경 변수. 다음 필드로 구성된 구조체:
    • name string 환경 변수 이름.
    • description string 환경 변수 설명.
    • value string 환경 변수 값.
  • args PluginArgs 플러그인의 인자. 다음 필드로 구성된 구조체:
    • name string 인자 이름.
    • description string 인자 설명.
    • value string array 인자 값.
  • linux PluginLinux
    • capabilities string array (Linux 전용) 플러그인의 capabilities. 목록은 여기 참고
    • allowAllDevices Boolean /dev가 호스트에서 바인드 마운트되고 allowAllDevices가 true로 설정되면 플러그인은 호스트의 모든 디바이스에 rwm 접근을 갖게 돼요.
    • devices PluginDevice array (Linux 전용) 플러그인의 디바이스. 다음 필드로 구성된 구조체. DEVICES 참고.
      • name string 디바이스 이름.
      • description string 디바이스 설명.
      • path string 디바이스 경로.

예시 구성 (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": ""
}

더 알아보기 (Learn more)