Docker Context Use 사용법 완벽 가이드! Docker Context 전환하기

Docker를 여러 환경에서 운영하다 보면 하나의 Docker Engine만 사용하는 것이 아니라 개발 서버, 테스트 서버, 운영 서버 등 여러 Docker 환경을 관리해야 하는 경우가 많습니다.

예를 들어 로컬 PC에서는 개발용 Docker를 사용하고, 별도의 원격 서버에서는 운영용 Docker를 사용하는 경우 매번 접속 정보를 변경하는 것은 매우 불편합니다.

Docker에서는 이러한 문제를 해결하기 위해 Context 기능을 제공합니다.

Docker Context Use는 현재 Docker CLI가 사용할 Docker Context를 변경하는 명령어입니다. 한 번의 명령으로 로컬 Docker 환경에서 원격 Docker 서버로 전환하거나, 개발 환경에서 운영 환경으로 쉽게 변경할 수 있습니다.

이번 글에서는 Docker Context Use의 개념부터 기본 사용법, Context 전환 방법, 실무 활용 방법까지 자세히 알아보겠습니다.

Docker Context Use란 무엇인가?

Docker Context Use는 현재 활성화된 Docker Context를 변경하는 명령어입니다.

Docker CLI는 현재 선택된 Context의 Docker Engine과 통신합니다.

즉, Context를 변경하면 같은 Docker 명령어라도 실행되는 대상 서버가 변경됩니다.

예:

docker ps

현재 Context가 개발 서버라면 개발 서버의 컨테이너 목록이 출력되고,

운영 서버 Context로 변경하면 운영 서버의 컨테이너 목록이 출력됩니다.

Docker Context Use는 언제 사용하는가?

다음과 같은 상황에서 자주 사용합니다.

  • 개발 서버와 운영 서버 전환
  • 여러 Docker 서버 관리
  • 원격 Docker Engine 사용
  • 테스트 환경 변경
  • Docker Swarm 서버 관리
  • DevOps 운영 작업

여러 Docker 환경을 관리하는 운영자에게 필수적인 기능입니다.

Docker Context 목록 확인하기

Context를 변경하기 전에 현재 생성된 Context를 확인합니다.

docker context ls

출력 예시:

NAME             DESCRIPTION
default *        Local Docker
development      Development Server
staging          Staging Server
production       Production Server

별표(*)가 표시된 Context가 현재 사용 중인 환경입니다.

Docker Context Use 기본 사용법

가장 기본적인 사용 방법입니다.

docker context use production

출력:

production
Current context is now "production"

이제 모든 Docker 명령은 production Context의 Docker Engine에서 실행됩니다.

현재 Context 확인하기

변경 후 현재 Context를 확인합니다.

docker context show

출력:

production

현재 Docker CLI가 운영 서버를 바라보고 있다는 의미입니다.

Docker Context 전환 예제

개발 서버에서 운영 서버로 변경하는 과정입니다.

현재 상태:

development *

운영 서버로 변경:

docker context use production

확인:

docker context show

결과:

production

이제 Docker 명령은 운영 환경에서 실행됩니다.

일회성 Context 사용하기

현재 Context를 변경하지 않고 특정 명령만 다른 서버에서 실행할 수도 있습니다.

docker --context production ps

현재 설정은 유지하면서 운영 서버의 컨테이너 목록만 확인합니다.

이 방법은 실수 방지에 매우 유용합니다.

Context 전환 후 확인해야 하는 것

Context 변경 후에는 반드시 대상 서버를 확인하는 것이 좋습니다.

확인 방법:

docker context show

또는

docker info

를 사용하여 실제 Docker Engine 정보를 확인할 수 있습니다.

Docker Context Use 실무 활용 예제

Docker Context Use는 여러 Docker 환경을 관리할 때 가장 많이 사용하는 명령어 중 하나입니다. 개발 서버, 테스트 서버, 운영 서버를 하나의 PC에서 관리할 때 Context 전환만으로 원하는 환경에 연결할 수 있습니다.

운영 서버 Context로 변경하기

가장 기본적인 사용 방법입니다.

docker context use production

변경 후 확인합니다.

docker context show

출력:

production

현재 Docker CLI가 운영 서버를 사용하고 있습니다.

개발 서버로 다시 변경하기

개발 환경으로 전환합니다.

docker context use development

확인:

docker context show

결과:

development

이제 실행하는 Docker 명령은 개발 서버에서 동작합니다.

Context 변경 후 컨테이너 확인하기

Context 변경 후 실제 연결 서버를 확인합니다.

docker ps

예:

CONTAINER ID   IMAGE       STATUS
a12bc34       nginx       Up 2 hours

출력되는 컨테이너 목록이 변경된 서버의 환경인지 확인할 수 있습니다.

Context 변경 없이 특정 서버 명령 실행하기

현재 Context를 유지하면서 다른 서버 명령만 실행할 수 있습니다.

docker --context production ps

현재 개발 환경을 유지하면서 운영 서버 상태만 확인할 수 있습니다.

운영 서버 작업 전 실수를 줄이는 좋은 방법입니다.

운영 서버 작업 전 안전 확인 과정

실제 운영 환경에서는 다음 순서로 확인하는 것을 추천합니다.

  1. 현재 Context 확인
docker context show
  1. Context 목록 확인
docker context ls
  1. 운영 Context 변경
docker context use production
  1. Docker 정보 확인
docker info

이 과정을 거치면 잘못된 서버에서 Docker 명령을 실행하는 실수를 줄일 수 있습니다.

Linux 서버 문제 해결

운영팀에서 개발 서버와 운영 서버를 동시에 관리하던 중 문제가 발생했습니다.

관리자가 컨테이너 재시작 명령을 실행했는데 예상과 다르게 다른 환경의 서비스가 재시작되었습니다.

확인 결과 현재 Context가 운영 서버로 변경된 상태에서 개발 작업을 진행하고 있었습니다.

먼저 현재 Context를 확인했습니다.

docker context show

결과:

production

개발 서버로 변경했습니다.

docker context use development

다시 확인:

docker context show

결과:

development

이후 개발 환경에서 정상적으로 작업을 진행할 수 있었습니다.

Docker Context Use는 여러 서버를 관리할 때 발생하는 실수를 줄여주는 매우 중요한 기능입니다.

Docker Context Use 사용 시 주의사항

Docker Context Use를 사용할 때는 다음 사항을 주의해야 합니다.

첫 번째는 Context 변경 즉시 모든 Docker 명령의 대상 서버가 바뀐다는 점입니다.

예상하지 못한 서버에서 명령이 실행될 수 있으므로 항상 현재 Context를 확인해야 합니다.

두 번째는 운영 서버 Context를 사용할 때 특히 주의해야 합니다.

컨테이너 삭제, 재시작, 이미지 삭제 같은 명령은 실제 운영 서비스에 영향을 줄 수 있습니다.

세 번째는 Context 이름을 명확하게 관리해야 합니다.

추천:

  • production
  • staging
  • development

네 번째는 중요한 작업 전 docker info로 서버 정보를 확인하는 것이 안전합니다.

Best Practice

Docker Context Use를 사용할 때는 다음 방법을 추천합니다.

  • 작업 전 docker context show를 실행합니다.
  • 운영 서버와 개발 서버 Context를 분리합니다.
  • Context 이름을 명확하게 지정합니다.
  • 중요한 명령은 --context 옵션으로 먼저 테스트합니다.
  • 서버 변경 후 Docker 정보를 확인합니다.
  • 사용하지 않는 Context는 정리합니다.

이러한 방법을 적용하면 여러 Docker 환경을 더욱 안전하게 운영할 수 있습니다.

자주 묻는 질문

Docker Context Use는 서버를 변경하나요?

아닙니다.

서버 자체를 변경하는 것이 아니라 Docker CLI가 연결할 Docker Engine만 변경합니다.

Context를 변경하면 컨테이너가 이동하나요?

아닙니다.

기존 컨테이너는 그대로 유지되며 명령 실행 대상만 변경됩니다.

현재 Context를 확인하는 방법은 무엇인가요?

다음 명령을 사용합니다.

docker context show

특정 명령만 다른 서버에서 실행할 수 있나요?

가능합니다.

--context 옵션을 사용하면 현재 Context를 유지하면서 원하는 서버에서 명령을 실행할 수 있습니다.

마무리

Docker Context Use는 여러 Docker 환경을 빠르게 전환할 수 있게 해주는 핵심 관리 명령어입니다.

개발 서버, 테스트 서버, 운영 서버를 동시에 관리하는 환경에서는 Context 전환 기능을 활용하면 서버 접속 과정을 줄이고 작업 효율을 크게 높일 수 있습니다.

특히 운영 환경에서는 현재 활성화된 Context를 반드시 확인하는 습관이 중요하며, docker context ls, docker context show, docker info를 함께 활용하면 더욱 안전한 Docker 운영이 가능합니다.

댓글 남기기