JSON 기반 플러그인을위한 '도커 플러그인 설치'방법


9

새로운 볼륨 플러그인을 개발 중이며 모든 vol-test 테스트를 통과해야합니다. 그리고 첫 번째 테스트 인을 제외한 모든 테스트 (플러그인이 설치된 환경에서)를 성공적으로 통과했습니다 docker plugin install. 문제는 사용자 정의 플러그인을 설치할 수있는 가지 방법 이 있다는 것입니다 .

.sock 파일은 UNIX 도메인 소켓입니다.
.spec 파일은 unix : ///other.sock 또는 tcp : // localhost : 8080과 같은 URL을 포함하는 텍스트 파일입니다.
.json 파일은 플러그인에 대한 전체 json 사양을 포함하는 텍스트 파일입니다.

그리고 우리는 단순히 docker API (java, spring로 작성)를 구현하는 REST 서버 인 json을 사용합니다. 간단하게 설치 과정 : json 파일을 복사하면 /etc/docker/pluginsdockerd가 자동으로 검색합니다.
플러그인을 docker plugin install명령 에 통합하려고하면 문제가 발생 합니다. 여기에 명시된 바와 같이 :

Docker는 먼저 Docker 호스트에서 플러그인을 찾습니다. 플러그인이 로컬로 존재하지 않으면 플러그인이 레지스트리에서 가져옵니다.

우리의 설치 과정은 개인 또는 공개 레지스트리에 대한 연결을 가정하지 않으므로 docker plugin create플러그인을 로컬로 작성 하려면 첫 번째 명령이 필요 합니다. 그리고 이것은 json 기반 플러그인을 사용하여이를 수행하는 방법에 대해 머리를 감싸는 데 어려움을 겪고있는 곳입니다. 에 따라 문서, 나는 플러그인에 대한 경로를 지정해야합니다. 디렉토리 이름을 사용하면 디렉토리에 예상 config.json되고 rootfs존재할 것입니다.

하지만
1 config.json-이 설명 설정,이다 .sock형식 CONFIGS을하고,하지 .json(내가 틀렸다면 수정하시기 바랍니다) 형식으로
내 플러그인 그냥 독립형 REST 경우 2. 어떻게이 rootfs를 만들려면 어떻게해야합니까 왜 내가 필요합니까 컨테이너에 있지 않습니까?

도움을 주셔서 감사합니다.

답변:


-1

config.json-이것은 .json 형식이 아닌 .sock 형식 구성을 설명하는 구성입니다 (잘못된 경우 수정하십시오)

.spec 파일로 작동하는지 확인했지만 json 파일과 어떻게 작동하는지 잘 모르겠습니다. .spec 파일의 경우 config.json에서 .spec 파일을 언급하지 않습니다. 유닉스 소켓 플러그인 (옵션 1)에만 사용됩니다. 실제로 TCP 소켓 플러그인에는 config.json이 필요하지 않습니다.

rootfs를 작성하는 방법은 무엇이며 플러그인이 독립형 REST 서비스이고 컨테이너에도없는 경우 왜 필요합니까?

내 이해에서 rootfs는 유닉스 소켓 플러그인 전용입니다. .spec 파일이 올바른 폴더에 있으면 플러그인 검색이 즉시 작동합니다. 요컨대, 스펙 파일을 작성하여 올바른 발견 폴더에 넣고 해당 플러그인 이름으로 컨테이너를 부트 스트랩하십시오. "docker plugin create / install / enable"과 같은 명령을 실행할 필요가 없습니다. 서버를 실행하고 파일을 올바른 폴더에 넣고 새 컨테이너가 해당 플러그인을 사용하도록하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.