docker context create 명령을 사용하여 Docker 엔드포인트 관리 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker context create 명령을 사용하여 다양한 Docker 엔드포인트를 효과적으로 관리하는 방법을 배우게 됩니다. 로컬 Docker 데몬을 가리키는 새로운 컨텍스트를 생성하여 연결을 명시적으로 정의하고 전환하는 방법을 탐구할 것입니다.

또한, 기존 컨텍스트의 구성을 활용하여 컨텍스트 생성을 간소화하는 방법을 배우게 됩니다. 여기에는 기존 컨텍스트에서 복사하여 새로운 컨텍스트를 생성하고, 다른 컨텍스트의 Docker 엔드포인트 구성을 활용하는 컨텍스트를 생성하는 것이 포함되어 Docker 환경을 관리하는 데 유연성과 효율성을 제공합니다.

로컬 Docker 엔드포인트로 컨텍스트 생성

이 단계에서는 로컬 Docker 데몬을 가리키는 Docker 컨텍스트를 생성하는 방법을 배우게 됩니다. Docker 컨텍스트는 서로 다른 Docker 데몬 (로컬 또는 원격) 에 대한 연결을 관리하는 방법입니다. 기본적으로 Docker 는 로컬 데몬을 가리키는 default 컨텍스트를 사용합니다. 그러나 연결을 명시적으로 정의하기 위해 새로운 컨텍스트를 생성할 수 있습니다.

먼저, 기존 컨텍스트를 확인해 보겠습니다.

docker context ls

default 컨텍스트가 나열되어야 합니다.

이제 로컬 Docker 엔드포인트를 가리키는 my-local-context라는 새 컨텍스트를 생성해 보겠습니다. docker context create 명령을 --docker 플래그와 함께 사용하여 Docker 엔드포인트를 지정합니다. 로컬 데몬에 연결하므로 기본 소켓 경로를 사용할 수 있습니다.

docker context create my-local-context --docker "host=unix:///var/run/docker.sock"

컨텍스트를 생성한 후, 컨텍스트를 다시 나열하여 새로 생성된 컨텍스트를 확인할 수 있습니다.

docker context ls

이제 defaultmy-local-context가 모두 나열되어야 합니다. 별표 (*) 는 현재 활성 컨텍스트를 나타내며, 여전히 default여야 합니다.

새 컨텍스트를 사용하려면 docker context use 명령을 사용하여 전환해야 합니다.

docker context use my-local-context

이제 컨텍스트를 다시 나열하면 my-local-context가 활성 컨텍스트여야 합니다.

docker context ls

이미지 목록과 같은 간단한 Docker 명령을 실행하여 my-local-context를 사용하고 있는지 확인할 수 있습니다.

docker images

이 명령은 이제 my-local-context에 의해 지정된 Docker 데몬에 대해 실행됩니다.

마지막으로, 필요에 따라 기본 컨텍스트로 다시 전환할 수 있습니다.

docker context use default

기존 컨텍스트에서 컨텍스트 생성

이 단계에서는 기존 컨텍스트의 구성을 복사하여 새로운 Docker 컨텍스트를 생성하는 방법을 배우게 됩니다. 이는 모든 세부 정보를 다시 지정하지 않고 기존 컨텍스트의 약간 수정된 버전을 생성하려는 경우 유용할 수 있습니다.

먼저, 이전 단계에서 my-local-context가 생성되었는지 확인해 보겠습니다. 컨텍스트를 나열하여 확인할 수 있습니다.

docker context ls

이제 my-local-context를 기반으로 my-copied-context라는 새 컨텍스트를 생성합니다. docker context create 명령을 사용하고 --from 플래그 뒤에 기존 컨텍스트의 이름을 지정합니다.

docker context create my-copied-context --from my-local-context

새 컨텍스트를 생성한 후, 컨텍스트를 다시 나열하여 목록에 my-copied-context가 있는지 확인합니다.

docker context ls

이제 default, my-local-context, 그리고 my-copied-context가 표시되어야 합니다. my-copied-contextmy-local-context와 동일한 Docker 엔드포인트 구성을 갖게 됩니다.

새 컨텍스트로 전환하여 구성을 확인할 수 있습니다.

docker context use my-copied-context

이제 컨텍스트를 다시 나열하여 my-copied-context가 활성 컨텍스트인지 확인합니다.

docker context ls

docker context inspect 명령을 사용하여 새 컨텍스트의 구성을 검사할 수도 있습니다.

docker context inspect my-copied-context

이렇게 하면 컨텍스트의 세부 정보, 즉 사용하도록 구성된 Docker 엔드포인트를 포함하여 표시됩니다. my-local-context와 마찬가지로 로컬 Docker 소켓을 사용하도록 구성되어 있는지 확인해야 합니다.

마지막으로, 다음 단계를 위해 기본 컨텍스트로 다시 전환합니다.

docker context use default

다른 컨텍스트의 Docker 엔드포인트 설정을 사용하여 컨텍스트 생성

이 단계에서는 새로운 Docker 컨텍스트를 생성하고, 잠재적으로 다른 컨텍스트의 정보를 참조하여 Docker 엔드포인트 구성을 명시적으로 지정하는 방법을 배우게 됩니다. 이전 단계에서는 전체 컨텍스트를 복사하는 방법을 보여주었지만, 이 방법은 새 컨텍스트의 구성에 대해 더 세분화된 제어를 허용합니다.

먼저, 기존 컨텍스트를 나열하여 무엇이 있는지 확인해 보겠습니다.

docker context ls

default, my-local-context, 그리고 my-copied-context가 표시되어야 합니다.

이제 my-explicit-context라는 새 컨텍스트를 생성합니다. 1 단계와 유사하게 --docker 플래그를 사용하여 Docker 엔드포인트를 명시적으로 정의합니다. 이 경우 표준 로컬 소켓이지만, 올바른 엔드포인트 세부 정보를 얻기 위해 my-local-context와 같은 기존 컨텍스트의 구성을 참조할 수 있습니다.

docker context create my-explicit-context --description "Context with explicit local endpoint" --docker "host=unix:///var/run/docker.sock"

또한 컨텍스트의 목적을 더 명확하게 하기 위해 --description 플래그를 사용하여 설명을 추가했습니다.

새로 생성된 my-explicit-context를 확인하기 위해 컨텍스트를 다시 나열합니다.

docker context ls

이제 default, my-local-context, my-copied-context, 그리고 my-explicit-context가 표시되어야 합니다.

새 컨텍스트로 전환하여 활성화합니다.

docker context use my-explicit-context

my-explicit-context가 활성 컨텍스트인지 확인하기 위해 컨텍스트를 한 번 더 나열합니다.

docker context ls

추가한 설명을 포함하여 세부 정보를 확인하기 위해 my-explicit-context의 구성을 검사할 수도 있습니다.

docker context inspect my-explicit-context

이는 원격 Docker 데몬에 연결하거나 연결 세부 정보를 정밀하게 제어해야 할 때 유용한, Docker 엔드포인트 구성을 명시적으로 제공하여 컨텍스트를 생성하는 방법을 보여줍니다.

요약

이 랩에서는 docker context create 명령을 사용하여 Docker 엔드포인트를 관리하는 방법을 배웠습니다. --docker 플래그와 소켓 경로를 사용하여 연결을 정의하는 방법을 보여주는, 로컬 Docker 데몬을 명시적으로 가리키는 my-local-context라는 새 컨텍스트를 생성하는 것으로 시작했습니다. 기존 컨텍스트를 나열하고, docker context use를 사용하여 컨텍스트 간을 전환하고, 활성 컨텍스트를 확인하는 연습을 했습니다. 또한 docker images와 같은 Docker 명령이 현재 활성 컨텍스트에 대해 실행되는 방식을 확인했습니다.

또한 기존 연결 설정을 기반으로 구축하는 편리한 방법인, 기존 컨텍스트의 구성을 활용하여 새 컨텍스트를 생성하는 방법을 살펴보았습니다. 이를 통해 Docker 엔드포인트 구성을 효율적으로 관리하고 재사용할 수 있습니다.