docker context update 명령을 사용하여 컨텍스트 구성 수정 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker context update 명령을 사용하여 기존 Docker 컨텍스트의 구성을 수정하는 방법을 살펴봅니다. 먼저 작업할 새로운 Docker 컨텍스트를 생성하는 것으로 시작합니다.

컨텍스트를 생성한 후, 해당 컨텍스트의 설명을 업데이트하고 연결하는 Docker 엔드포인트를 변경하는 방법을 시연합니다. 마지막으로 컨텍스트 구성이 성공적으로 업데이트되었는지 확인합니다. 이 실습을 통해 서로 다른 Docker 데몬에 연결하기 위한 Docker 컨텍스트를 관리하고 수정하는 실질적인 경험을 얻을 수 있습니다.

새로운 Docker 컨텍스트 생성

이 단계에서는 새로운 Docker 컨텍스트를 생성하는 방법을 배웁니다. Docker 컨텍스트는 서로 다른 Docker 데몬에 대한 연결을 관리하는 방법입니다. 기본적으로 Docker 는 로컬 Docker 데몬에 연결하는 default 컨텍스트를 사용합니다. 그러나 원격 Docker 데몬 또는 다른 컨테이너 오케스트레이션 플랫폼에 연결하기 위해 새로운 컨텍스트를 생성할 수 있습니다.

새로운 Docker 컨텍스트를 생성하려면 docker context create 명령을 사용합니다. 이 명령은 새 컨텍스트의 이름과 연결해야 하는 Docker 데몬의 엔드포인트를 필요로 합니다. 이 랩에서는 로컬 Docker 데몬에 연결하는 my-context라는 컨텍스트를 생성합니다.

터미널을 열고 다음 명령을 실행합니다.

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

이 명령은 my-context라는 새 컨텍스트를 생성합니다. --docker host=unix:///var/run/docker.sock 옵션은 이 컨텍스트가 /var/run/docker.sock의 Unix 소켓을 통해 Docker 데몬에 연결해야 함을 지정합니다. 이것은 대부분의 Linux 시스템에서 Docker 소켓의 기본 위치입니다.

명령을 실행한 후, 컨텍스트가 성공적으로 생성되었음을 나타내는 다음과 유사한 출력을 볼 수 있습니다.

my-context
Successfully created context "my-context"

이제 컨텍스트를 생성했으므로 사용 가능한 컨텍스트를 나열하여 해당 컨텍스트의 존재를 확인할 수 있습니다. docker context ls 명령을 사용합니다.

docker context ls

default 컨텍스트와 새로 생성된 my-context를 포함한 컨텍스트 목록을 볼 수 있습니다. 출력은 다음과 유사합니다.

NAME                DESCRIPTION                               DOCKER ENDPOINT                               KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST                         unix:///var/run/docker.sock                                           swarm
my-context                                                    unix:///var/run/docker.sock

default 옆의 별표 (*) 는 현재 활성 컨텍스트임을 나타냅니다. 컨텍스트를 전환하는 방법은 다음 단계에서 배웁니다.

컨텍스트 설명 업데이트

이 단계에서는 이전 단계에서 생성한 Docker 컨텍스트의 설명을 업데이트합니다. 컨텍스트에 설명을 추가하면, 특히 여러 컨텍스트가 있는 경우, 컨텍스트의 용도를 기억하는 데 도움이 될 수 있습니다.

Docker 컨텍스트를 업데이트하려면 docker context update 명령을 사용합니다. 이 명령은 업데이트하려는 컨텍스트의 이름과 변경하려는 옵션을 필요로 합니다. my-context 컨텍스트를 업데이트하고 설명을 추가합니다.

터미널을 열고 다음 명령을 실행합니다.

docker context update my-context --description "My local Docker context"

이 명령은 my-context 컨텍스트를 업데이트하고 설명을 "My local Docker context"로 설정합니다.

명령을 실행한 후, 업데이트를 확인하는 다음과 유사한 출력을 볼 수 있습니다.

my-context
Successfully updated context "my-context"

이제 설명이 업데이트되었는지 확인해 보겠습니다. docker context ls 명령을 다시 사용하여 컨텍스트를 나열하고 설명을 볼 수 있습니다.

docker context ls

이제 my-context와 연결된 설명 "My local Docker context"를 볼 수 있습니다. 출력은 다음과 같습니다.

NAME                DESCRIPTION                 DOCKER ENDPOINT                               KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST         unix:///var/run/docker.sock                                           swarm
my-context          My local Docker context     unix:///var/run/docker.sock

설명 추가는 Docker 컨텍스트를 정리하는 좋은 방법입니다.

컨텍스트의 Docker 엔드포인트 업데이트

이 단계에서는 my-context와 연결된 Docker 엔드포인트를 업데이트합니다. 실제 시나리오에서는 원격 Docker 데몬을 가리키도록 엔드포인트를 업데이트할 수 있지만, 이 랩에서는 엔드포인트를 로컬 데몬을 계속 가리키는 약간 다른 형식으로 변경하여 프로세스를 시연합니다. 이는 필요에 따라 연결 세부 정보를 수정하는 방법을 보여줍니다.

Docker 엔드포인트를 업데이트하려면 docker context update 명령을 다시 사용하지만, 이번에는 새 엔드포인트와 함께 --docker host 옵션을 지정합니다. 엔드포인트를 unix:///var/run/docker.sock에서 unix://var/run/docker.sock으로 변경합니다 ( unix: 뒤의 추가 슬래시 제거).

터미널을 열고 다음 명령을 실행합니다.

docker context update my-context --docker host=unix://var/run/docker.sock

이 명령은 my-context 컨텍스트를 업데이트하고 Docker 엔드포인트를 변경합니다.

명령을 실행한 후, 업데이트를 확인하는 다음과 유사한 출력을 볼 수 있습니다.

my-context
Successfully updated context "my-context"

이제 Docker 엔드포인트가 업데이트되었는지 확인해 보겠습니다. docker context ls 명령을 다시 사용하여 컨텍스트를 나열하고 해당 엔드포인트를 볼 수 있습니다.

docker context ls

이제 업데이트된 Docker 엔드포인트 unix://var/run/docker.sockmy-context와 연결된 것을 볼 수 있습니다. 출력은 다음과 같습니다.

NAME                DESCRIPTION                 DOCKER ENDPOINT             KUBERNETES ENDPOINT   ORCHESTRATOR
default *           Current DOCKER_HOST         unix:///var/run/docker.sock                                           swarm
my-context          My local Docker context     unix://var/run/docker.sock

엔드포인트 업데이트는 로컬 연결에서 원격 연결로 전환하는 등 Docker 컨텍스트가 Docker 데몬에 연결하는 방식을 변경해야 할 때 중요합니다.

업데이트된 컨텍스트 설정 확인

이 마지막 단계에서는 my-context에 대한 포괄적인 확인을 수행하여 설명과 Docker 엔드포인트가 모두 올바르게 업데이트되었는지 확인합니다. 특정 컨텍스트에 대한 자세한 정보를 제공하는 docker context inspect 명령을 사용합니다.

터미널을 열고 다음 명령을 실행합니다.

docker context inspect my-context

이 명령은 my-context의 구성 세부 정보를 포함하는 JSON 문서를 출력합니다. 이 출력 내에서 DescriptionDocker.Endpoint 필드를 찾고 있습니다.

출력은 다음과 유사해야 합니다 (정확한 출력은 Docker 버전 및 환경에 따라 약간 다를 수 있음).

[
  {
    "Name": "my-context",
    "Metadata": {
      "Description": "My local Docker context"
    },
    "Endpoints": {
      "docker": {
        "Host": "unix://var/run/docker.sock"
      }
    },
    "TLSMaterial": {},
    "Storage": "my-context"
  }
]

출력을 검토하여 Description 필드가 "My local Docker context"이고 Docker.Endpoint 필드가 "unix://var/run/docker.sock"인지 확인합니다. 이는 이전 단계에서 수행한 업데이트가 성공했음을 확인합니다.

이 단계는 Docker 컨텍스트 생성 및 업데이트에 대한 랩을 마무리합니다. 새로운 컨텍스트를 생성하고, 설명을 추가하고, Docker 엔드포인트를 수정하는 방법을 배웠습니다. Docker 컨텍스트를 이해하는 것은 서로 다른 Docker 환경에 대한 연결을 관리하는 데 필수적입니다.

요약

이 랩에서는 docker context create 명령을 사용하여 새 Docker 컨텍스트를 생성하는 방법을 배웠으며, 이름과 Docker 엔드포인트를 지정했습니다. 그런 다음 docker context ls를 사용하여 사용 가능한 모든 컨텍스트를 나열하여 새 컨텍스트의 생성을 확인했습니다.

생성 후, docker context update 명령을 사용하여 기존 컨텍스트의 구성을 수정하는 방법을 살펴보았습니다. 특히, 새로 생성된 컨텍스트의 설명과 Docker 엔드포인트를 업데이트했습니다. 마지막으로, 컨텍스트를 다시 나열하고 출력에서 변경 사항을 관찰하여 이러한 업데이트가 성공적으로 적용되었는지 확인했습니다.