Docker 플러그인 푸시 명령어를 사용하여 플러그인 공유하는 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 Docker 플러그인을 레지스트리에 푸시하여 공유하는 방법을 배우게 됩니다. 먼저 Docker 환경에 현재 설치된 플러그인을 나열하여 사용 가능한 항목을 파악하는 것으로 시작합니다.

그 후, Docker 플러그인을 레지스트리에 푸시하는 연습을 하여 플러그인을 공유하거나 저장할 수 있습니다. 마지막으로, 특정 태그 (tag) 를 사용하여 플러그인을 푸시하는 방법을 배우고, 공유된 플러그인에 대한 버전 관리 및 구성을 제공합니다.

기존 플러그인 목록 확인

이 단계에서는 Docker 환경에 설치된 기존 플러그인을 나열하는 방법을 배우게 됩니다. 플러그인은 Docker 의 기능을 확장하여 볼륨 관리, 네트워크 드라이버 등과 같은 기능을 추가할 수 있도록 합니다.

현재 설치된 Docker 플러그인을 나열하려면 docker plugin ls 명령을 사용할 수 있습니다. 이 명령은 플러그인 목록, 상태 및 기타 관련 정보를 표시합니다.

환경에서 플러그인을 나열해 보겠습니다.

docker plugin ls

다음과 유사한 출력을 볼 수 있습니다 (정확한 출력은 환경에 따라 다를 수 있습니다).

ID    NAME    DESCRIPTION    ENABLED

기본 LabEx 환경에서는 일반적으로 기본적으로 설치된 플러그인이 없으므로 출력은 빈 목록을 표시하거나 별도의 플러그인으로 나열되지 않는 필수 내장 구성 요소만 표시할 가능성이 높습니다. 이는 예상되는 동작입니다.

docker plugin ls 명령은 사용 가능한 플러그인이 무엇인지, 활성화 또는 비활성화되었는지 빠르게 확인하는 데 유용합니다. 이는 Docker 플러그인을 관리하는 첫 번째 단계입니다.

플러그인을 레지스트리에 푸시

이 단계에서는 Docker 플러그인을 레지스트리에 푸시하는 방법을 배우게 됩니다. 플러그인을 푸시하면 다른 사용자와 공유하거나 나중에 사용할 수 있도록 저장할 수 있습니다. 플러그인을 푸시하기 전에 사용 가능한 플러그인이 있어야 합니다. 데모 목적으로 간단한 예제 플러그인을 사용합니다.

먼저, 샘플 플러그인 이미지를 가져오겠습니다. 예시로 vieux/sshfs 플러그인을 사용합니다. 이 플러그인을 사용하면 Docker 볼륨에 SSHFS 를 사용할 수 있습니다.

docker plugin install vieux/sshfs

플러그인의 기능을 수락하라는 메시지가 표시됩니다. y를 입력하고 Enter 키를 누릅니다.

Plugin "vieux/sshfs" is requesting the following privileges:
 - network: [host]
 - mount: [/dev/fuse]
 - allow-devices: [fuse]
 - authz: []
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the plugin these privileges? [y/N] y

플러그인이 설치된 후, docker plugin ls 명령을 다시 사용하여 설치 및 상태를 확인할 수 있습니다.

docker plugin ls

이제 vieux/sshfs 플러그인이 나열되고 상태가 true (활성화됨) 로 표시되어야 합니다.

ID                  NAME                DESCRIPTION                         ENABLED
<plugin_id>         vieux/sshfs         Mount sshfs volumes                 true

이제 플러그인이 설치되었으므로 레지스트리에 푸시할 수 있습니다. 플러그인을 푸시하려면 docker plugin push 명령을 사용하고 플러그인 이름을 입력합니다. 이 예제에서는 vieux/sshfs 플러그인을 푸시합니다.

docker plugin push vieux/sshfs

(Docker Hub 와 같은) 특정 레지스트리에 푸시하지 않으므로 이 명령은 기본 레지스트리에 푸시하려고 시도합니다. 실제 시나리오에서는 먼저 docker login을 사용하여 레지스트리에 로그인하고 푸시 명령에서 레지스트리를 지정해야 합니다 (예: docker plugin push your-registry.com/vieux/sshfs).

출력은 푸시 작업의 진행 상황을 보여줍니다.

The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:<tag>

이 명령은 플러그인을 지정된 레지스트리에 푸시합니다. 태그가 지정되지 않은 경우 일반적으로 기본적으로 latest 태그가 사용됩니다.

특정 태그로 플러그인 푸시

이 단계에서는 Docker 플러그인을 특정 태그와 함께 레지스트리에 푸시하는 방법을 배우게 됩니다. 태깅을 사용하면 플러그인의 버전을 관리하고 다양한 릴리스를 관리할 수 있습니다.

이전 단계에서 vieux/sshfs 플러그인을 설치하고 푸시했습니다. 태그를 지정하지 않고 푸시했을 때 기본 latest 태그를 사용했을 것입니다. 이제 동일한 플러그인을 특정 태그, 예를 들어 1.0으로 푸시해 보겠습니다.

특정 태그로 플러그인을 푸시하려면 docker plugin push 명령을 사용하고 플러그인 이름과 콜론 (:) 으로 구분된 태그를 입력합니다.

docker plugin push vieux/sshfs:1.0

이 명령은 vieux/sshfs 플러그인을 태그 1.0과 함께 기본 레지스트리에 푸시합니다. 이전 단계와 마찬가지로, 사용자 지정 레지스트리를 사용하는 실제 시나리오에서는 플러그인 이름 앞에 레지스트리 주소를 포함합니다 (예: docker plugin push your-registry.com/vieux/sshfs:1.0).

출력은 푸시 작업의 진행 상황을 표시하며, 플러그인이 지정된 태그로 푸시되고 있음을 나타냅니다.

The push refers to repository [docker.io/vieux/sshfs]
Pushed plugin vieux/sshfs:1.0

태그를 사용하면 레지스트리에서 플러그인의 여러 버전을 유지 관리할 수 있습니다. 이는 업데이트를 관리하고 호환성을 보장하는 데 중요합니다. 예를 들어, vieux/sshfs:1.0, vieux/sshfs:1.1vieux/sshfs:latest를 가질 수 있으며, 사용자가 필요한 특정 버전을 가져올 수 있습니다.

이것으로 Docker 플러그인 푸시 단계가 완료되었습니다. 플러그인을 레지스트리에 푸시하는 방법과 푸시 작업 중에 태그를 지정하는 방법을 배웠습니다.

요약

이 랩에서는 Docker 플러그인을 관리하는 방법을 배웠으며, 특히 플러그인을 나열하고 레지스트리에 푸시하는 데 중점을 두었습니다. 먼저 docker plugin ls 명령을 사용하여 설치된 플러그인을 확인하는 것으로 시작했으며, 기본 환경에서는 빈 목록이 표시될 수 있음을 이해했습니다.

이어서 플러그인을 레지스트리에 푸시하는 연습을 했습니다. 여기에는 샘플 플러그인 (vieux/sshfs) 을 설치한 다음 docker plugin push 명령을 사용하여 공유하는 작업이 포함되었습니다. 또한 특정 태그로 플러그인을 푸시하는 방법을 배워 레지스트리 내에서 버전 관리 및 더 나은 구성을 가능하게 했습니다. 이러한 단계는 사용자 지정 또는 타사 Docker 기능을 공유하고 관리하는 데 중요합니다.