소개
이 랩에서는 docker plugin set 명령을 사용하여 Docker 플러그인의 설정을 수정하는 방법을 배우게 됩니다. 먼저 docker plugin inspect를 사용하여 플러그인의 초기 구성을 검사하여 현재 상태를 이해하는 것으로 시작합니다.
검사 후, docker plugin set 명령을 사용하여 환경 변수, 마운트 소스, 장치 경로 및 인수의 소스를 포함한 다양한 플러그인 설정을 변경하는 연습을 할 것입니다. 이 실습 경험을 통해 Docker 플러그인 동작에 대한 유연성과 제어력을 보여줄 것입니다.
초기 플러그인 설정 검사
이 단계에서는 Docker 플러그인의 초기 설정을 검사하는 방법을 배우겠습니다. Docker 플러그인은 Docker 의 기능을 확장하여 사용자 지정 스토리지 드라이버, 네트워크 드라이버 등을 사용할 수 있도록 합니다. 플러그인의 설정을 수정하기 전에 현재 구성을 이해하는 것이 중요합니다.
docker plugin inspect 명령을 사용하여 특정 플러그인의 세부 정보를 볼 것입니다. 이 랩에서는 예시로 vieux/sshfs 플러그인을 사용합니다. 이 플러그인을 사용하면 원격 SSH 파일 시스템을 컨테이너에 마운트할 수 있습니다.
먼저, vieux/sshfs 플러그인이 설치 및 활성화되었는지 확인합니다. 그렇지 않은 경우, docker plugin install 명령을 사용하여 설치할 수 있습니다.
docker plugin install vieux/sshfs:latest
이 명령은 Docker Hub 에서 vieux/sshfs 플러그인을 설치합니다. :latest 태그는 플러그인의 최신 버전을 지정합니다.
플러그인이 설치된 후, docker plugin ls 명령을 사용하여 상태를 확인할 수 있습니다.
docker plugin ls
vieux/sshfs:latest가 ENABLED 상태가 true로 설정되어 표시되어야 합니다.
이제 docker plugin inspect 명령을 사용하여 플러그인의 설정을 검사해 보겠습니다.
docker plugin inspect vieux/sshfs:latest
이 명령은 vieux/sshfs 플러그인의 모든 구성 세부 정보를 포함하는 자세한 JSON 객체를 출력합니다. 이 출력에는 플러그인의 ID, 이름, 활성화 상태, 설정 등에 대한 정보가 포함됩니다.
출력을 스크롤하여 이 플러그인에 사용할 수 있는 다양한 구성 옵션을 확인하십시오. 수정할 수 있는 특정 구성 매개변수가 포함된 Settings 섹션에 주의하십시오.
docker plugin set 을 사용하여 환경 변수 변경
이 단계에서는 docker plugin set 명령을 사용하여 Docker 플러그인의 환경 변수를 변경하는 방법을 배우겠습니다. 플러그인 설정을 수정하면 특정 요구 사항에 맞게 동작을 사용자 정의할 수 있습니다.
플러그인의 설정을 변경하기 전에 플러그인을 비활성화해야 합니다. 활성화된 플러그인의 설정은 변경할 수 없습니다. 예시로 vieux/sshfs 플러그인을 계속 사용하겠습니다.
먼저, vieux/sshfs 플러그인을 비활성화해 보겠습니다.
docker plugin disable vieux/sshfs:latest
이 명령은 지정된 플러그인을 비활성화합니다. docker plugin ls를 다시 실행하여 플러그인이 비활성화되었는지 확인할 수 있습니다. vieux/sshfs:latest의 ENABLED 상태는 이제 false여야 합니다.
이제 플러그인이 비활성화되었으므로 환경 변수를 변경할 수 있습니다. vieux/sshfs 플러그인에는 디버깅 출력을 제어하는 DEBUG라는 환경 변수가 있습니다. 기본적으로 이 값은 false로 설정되어 있을 것입니다. 이를 true로 변경해 보겠습니다.
docker plugin set vieux/sshfs:latest DEBUG=true
이 명령은 vieux/sshfs:latest 플러그인의 DEBUG 환경 변수를 true로 설정합니다. 변수를 설정하는 형식은 PLUGIN_NAME VARIABLE_NAME=VALUE입니다.
환경 변수를 설정한 후, 플러그인을 다시 검사하여 변경 사항을 확인할 수 있습니다.
docker plugin inspect vieux/sshfs:latest
JSON 출력에서 Settings 섹션을 찾습니다. 환경 변수 목록인 Env에 대한 항목이 표시되어야 합니다. DEBUG 변수가 이제 true로 설정되어 있어야 합니다.
마지막으로, 원하는 변경 사항을 적용한 후 플러그인을 다시 활성화할 수 있습니다.
docker plugin enable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 활성화되었는지 확인합니다.
docker plugin set 을 사용하여 마운트 소스 변경
이 단계에서는 docker plugin set 명령을 사용하여 Docker 플러그인의 마운트 소스를 변경하는 방법을 배우겠습니다. 일부 플러그인은 호스트 시스템의 특정 디렉토리 또는 파일에 대한 액세스가 필요합니다. 이러한 파일은 마운트로 구성됩니다.
환경 변수를 변경하는 것과 마찬가지로, 마운트 설정을 수정하려면 플러그인을 비활성화해야 합니다. vieux/sshfs 플러그인을 계속 사용하겠습니다.
먼저, vieux/sshfs 플러그인이 비활성화되었는지 확인합니다. 이전 단계에서 활성화한 경우 지금 비활성화하십시오.
docker plugin disable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 비활성화되었는지 확인합니다.
vieux/sshfs 플러그인은 연결하는 SSH 서버의 ID 를 확인하기 위해 호스트 시스템의 /etc/ssh/ssh_known_hosts 파일에 대한 액세스가 필요합니다. 이는 마운트로 구성됩니다. 이 마운트의 소스 경로를 변경해 보겠습니다.
소스 경로를 /etc/ssh/ssh_known_hosts에서 /root/.ssh/known_hosts로 변경합니다. 참고: 실제 시나리오에서는 대상 파일이 존재하고 올바른 권한을 가지고 있는지 확인합니다. 이 랩에서는 명령 구문에 중점을 둡니다.
docker plugin set vieux/sshfs:latest Mounts[0].Source=/root/.ssh/known_hosts
이 명령은 vieux/sshfs:latest 플러그인에 대한 첫 번째 마운트 (Mounts[0]) 의 Source 필드를 /root/.ssh/known_hosts로 설정합니다. 구문 Mounts[0]은 플러그인 설정 내의 Mounts 배열의 첫 번째 요소를 참조합니다. 변경하려는 마운트의 인덱스는 플러그인의 구성을 검사하여 찾을 수 있습니다.
마운트 소스를 변경한 후, 플러그인을 검사하여 변경 사항을 확인합니다.
docker plugin inspect vieux/sshfs:latest
Settings 섹션을 검토하고 Mounts 배열을 찾습니다. 첫 번째 마운트의 Source 필드가 이제 /root/.ssh/known_hosts여야 합니다.
마지막으로, 플러그인을 다시 활성화합니다.
docker plugin enable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 활성화되었는지 확인합니다.
docker plugin set 을 사용하여 장치 경로 변경
이 단계에서는 docker plugin set 명령을 사용하여 Docker 플러그인이 액세스할 수 있는 장치의 경로를 변경하는 방법을 배우겠습니다. 일부 플러그인은 스토리지 장치 또는 네트워크 인터페이스와 같은 호스트 장치에 직접 액세스해야 할 수 있습니다.
다른 플러그인 설정을 변경하는 것과 마찬가지로, 장치 구성을 수정하려면 플러그인을 비활성화해야 합니다. 예시로 vieux/sshfs 플러그인을 계속 사용하겠지만, 이 특정 플러그인은 일반적으로 장치 액세스가 필요하지 않습니다. 가상의 장치를 사용하여 명령 구문을 시연하겠습니다.
먼저, vieux/sshfs 플러그인이 비활성화되었는지 확인합니다.
docker plugin disable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 비활성화되었는지 확인합니다.
이제 vieux/sshfs 플러그인이 /dev/sda1의 장치에 액세스해야 하는 요구 사항이 있다고 가정해 보겠습니다. 이를 /dev/sdb1로 변경하려고 합니다. Devices 배열과 함께 docker plugin set 명령을 사용합니다.
참고: vieux/sshfs 플러그인은 기본적으로 실제로 Devices 구성을 가지고 있지 않습니다. 이는 장치 경로를 변경하기 위한 명령 구문을 시연하기 위한 가상 예제입니다. vieux/sshfs 플러그인에서 이 명령을 실행하면 Devices 필드가 해당 구성에 존재하지 않으므로 오류가 발생할 수 있습니다. 그러나 표시된 구문은 장치 구성을 가지고 있는 플러그인에 대해 올바릅니다.
플러그인에 Devices 배열이 있고 첫 번째 장치 (Devices[0]) 의 PathOnHost를 변경하려는 경우, 명령은 다음과 같습니다.
docker plugin set vieux/sshfs:latest Devices[0].PathOnHost=/dev/sdb1
이 명령은 vieux/sshfs:latest 플러그인에 대한 첫 번째 장치 (Devices[0]) 의 PathOnHost 필드를 /dev/sdb1로 설정하려고 시도합니다. 구문 Devices[0]은 플러그인 설정 내의 Devices 배열의 첫 번째 요소를 참조합니다.
vieux/sshfs 플러그인에는 Devices 배열이 없으므로 위의 명령은 실패합니다. 이는 이 특정 플러그인에 대해 예상되는 동작이지만, 이 구성을 지원하는 플러그인에 대한 장치 경로를 수정하는 올바른 구문을 보여줍니다.
vieux/sshfs 플러그인의 실제 설정을 보려면 다시 검사할 수 있습니다.
docker plugin inspect vieux/sshfs:latest
이 플러그인에 대한 출력에서 Devices 섹션이 표시되지 않습니다.
마지막으로, 플러그인을 다시 활성화합니다.
docker plugin enable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 활성화되었는지 확인합니다.
docker plugin set 을 사용하여 인자 (arguments) 소스 변경
이 단계에서는 docker plugin set 명령을 사용하여 Docker 플러그인에 전달되는 인수의 소스를 변경하는 방법을 배우겠습니다. 일부 플러그인은 초기화 또는 실행 중에 명령줄 인수를 허용합니다.
플러그인의 인수를 수정하려면 먼저 비활성화해야 합니다. 예시로 vieux/sshfs 플러그인을 계속 사용하겠습니다.
먼저, vieux/sshfs 플러그인이 비활성화되었는지 확인합니다.
docker plugin disable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 비활성화되었는지 확인합니다.
vieux/sshfs 플러그인은 기본 sshfs 명령에 전달되는 인수를 허용합니다. 이러한 인수는 플러그인의 설정에서 구성됩니다. 이러한 인수의 소스를 변경해 보겠습니다.
비루트 사용자가 파일 시스템을 마운트할 수 있도록 하는 -o allow_other 옵션을 포함하도록 인수의 소스를 변경합니다.
docker plugin set vieux/sshfs:latest Args="-o allow_other"
이 명령은 vieux/sshfs:latest 플러그인에 대한 Args 필드를 "-o allow_other"로 설정합니다. Args 필드는 일반적으로 플러그인의 실행 파일에 전달되는 명령줄 인수를 나타내는 문자열 또는 문자열 배열입니다.
인수를 변경한 후, 플러그인을 검사하여 변경 사항을 확인합니다.
docker plugin inspect vieux/sshfs:latest
Settings 섹션을 검토하고 Args 필드를 찾습니다. 이제 "-o allow_other"로 설정되어야 합니다.
마지막으로, 플러그인을 다시 활성화합니다.
docker plugin enable vieux/sshfs:latest
docker plugin ls를 사용하여 플러그인이 활성화되었는지 확인합니다.
요약
이 랩에서는 docker plugin set 명령을 사용하여 Docker 플러그인 설정을 관리하는 방법을 배웠습니다. 먼저 docker plugin inspect를 사용하여 플러그인의 초기 구성을 검사하여 현재 상태를 이해하는 것으로 시작했으며, 특히 Settings 섹션에 중점을 두었습니다. 이러한 초기 검사는 수정하기 전에 매우 중요합니다.
이어서, docker plugin set을 사용하여 다양한 플러그인 설정을 수정하는 방법을 살펴보았습니다. 환경 변수 변경, 마운트 소스 변경, 장치 경로 수정, 인수 소스 변경 등을 다루었습니다. 이러한 단계는 특정 요구 사항을 충족하기 위해 플러그인 동작을 사용자 정의하는 데 있어 docker plugin set의 유연성을 보여주었습니다.



