docker plugin create 명령어를 사용하여 플러그인 빌드 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker plugin create 명령을 사용하여 Docker 플러그인을 생성하는 방법을 배우게 됩니다. 이 과정에는 플러그인에 필요한 디렉토리 구조와 구성 파일을 준비한 다음, 이 구성 요소들을 기반으로 명령을 사용하여 플러그인을 빌드하는 작업이 포함됩니다.

이 랩에서는 플러그인의 속성과 인터페이스를 정의하는 config.json 파일을 생성하는 것을 포함하여 플러그인 데이터 디렉토리를 준비하는 과정을 안내합니다. 이어서, 준비된 데이터를 기반으로 플러그인을 빌드하기 위해 docker plugin create 명령을 실행합니다. 마지막으로, 플러그인이 성공적으로 생성되었고 Docker 환경에서 사용 가능한지 확인합니다.

플러그인 데이터 디렉토리 준비

이 단계에서는 Docker 플러그인에 필요한 디렉토리 구조를 준비합니다. Docker 플러그인은 올바르게 작동하기 위해 특정 디렉토리 레이아웃이 필요합니다. 이 디렉토리에는 플러그인의 구성과 잠재적으로 다른 필요한 파일이 포함됩니다.

먼저, 프로젝트 디렉토리로 이동합니다.

cd ~/project

이제 플러그인 데이터를 위한 디렉토리를 생성합니다. 이름을 my-plugin-data로 지정합니다.

mkdir my-plugin-data

my-plugin-data 디렉토리 내부에 config.json이라는 구성 파일을 생성해야 합니다. 이 파일에는 플러그인의 구성 세부 정보가 포함됩니다.

cd my-plugin-data
nano config.json

다음 내용을 config.json 파일에 추가합니다. 이것은 플러그인의 유형과 설명을 지정하는 기본 구성입니다.

{
  "Description": "My first Docker plugin",
  "Types": [
    {
      "Name": "volume",
      "Description": "A simple volume plugin"
    }
  ],
  "Interface": {
    "Types": ["docker.volumedriver/1.0"],
    "Socket": "my-plugin.sock"
  },
  "Entrypoint": ["/usr/local/bin/my-plugin"]
}

config.json 파일을 자세히 살펴보겠습니다.

  • Description: 플러그인에 대한 사람이 읽을 수 있는 설명입니다.
  • Types: 제공되는 플러그인의 유형을 지정합니다. 이 경우 volume 플러그인입니다.
  • Interface: 플러그인의 인터페이스를 정의합니다.
    • Types: 인터페이스 유형을 지정합니다. 볼륨 드라이버의 경우 docker.volumedriver/1.0입니다.
    • Socket: 플러그인이 수신 대기할 Unix 도메인 소켓의 이름입니다. Docker 는 이 소켓을 통해 플러그인과 통신합니다.
  • Entrypoint: 플러그인이 활성화될 때 Docker 가 실행할 명령입니다. 이는 플러그인의 루트 파일 시스템 내에서 플러그인의 실행 파일 경로여야 합니다.

파일을 저장하고 Ctrl + X, Y, Enter를 눌러 nano 편집기를 종료합니다.

마지막으로, 프로젝트 루트 디렉토리로 다시 이동합니다.

cd ~/project

이제 Docker 플러그인에 대한 기본 디렉토리 구조와 구성 파일을 성공적으로 생성했습니다.

docker plugin create 명령어를 사용하여 플러그인 생성

이 단계에서는 이전 단계에서 준비한 디렉토리를 기반으로 docker plugin create 명령을 사용하여 플러그인을 생성합니다. docker plugin create 명령은 플러그인 이름과 플러그인 데이터 디렉토리의 경로를 인수로 사용합니다.

명령 구문은 docker plugin create <plugin-name> <plugin-data-directory>입니다.

플러그인 이름을 my-plugin으로 지정하고 생성한 my-plugin-data 디렉토리를 사용합니다. ~/project 디렉토리에 있는지 확인하십시오.

cd ~/project
sudo docker plugin create my-plugin ./my-plugin-data

플러그인이 생성되고 있음을 나타내는 출력을 볼 수 있습니다. 성공하면 명령이 오류 없이 완료됩니다.

docker plugin create 명령은 지정된 디렉토리에서 config.json 파일을 읽고 Docker 데몬에 플러그인을 등록합니다. 이 시점에서 플러그인은 생성되었지만 아직 활성화되지 않았습니다.

생성된 플러그인 확인

이 단계에서는 플러그인이 성공적으로 생성되었고 Docker 에 의해 나열되었는지 확인합니다. docker plugin ls 명령을 사용하여 사용 가능한 모든 플러그인을 나열할 수 있습니다.

~/project 디렉토리에 있는지 확인하십시오.

cd ~/project
sudo docker plugin ls

이 명령의 출력은 플러그인 목록을 표시해야 합니다. 상태가 disabledmy-plugin 항목이 표시되어야 합니다. 이는 플러그인이 Docker 에 등록되었지만 아직 활성화되지 않았음을 확인합니다.

출력은 다음과 유사하게 표시됩니다 ( ID는 다를 수 있습니다).

ID             NAME        TAG       DESCRIPTION             ENABLED
a1b2c3d4e5f6   my-plugin             My first Docker plugin   false

ENABLED 열은 false를 표시하며, 이는 플러그인이 현재 비활성화되어 있음을 나타냅니다. 플러그인을 사용하려면 docker plugin enable을 사용하여 활성화해야 합니다. 그러나 이것은 플러그인 구조를 생성하는 데 대한 시연일 뿐이므로, 이 랩에서는 활성화하지 않습니다.

이제 Docker 플러그인의 존재를 성공적으로 생성하고 확인했습니다.

요약

이 랩에서는 Docker 플러그인에 필요한 디렉토리 구조와 구성 파일을 준비하는 방법을 배웠습니다. 여기에는 플러그인 데이터에 대한 전용 디렉토리를 생성하고, config.json 파일 내에서 설명, 유형, 인터페이스 및 진입점과 같은 플러그인의 특성을 정의하는 작업이 포함되었습니다. 이 기본적인 단계는 Docker 가 플러그인과 상호 작용하고 관리하는 방식을 정의하는 데 중요합니다.