프로그래밍/IT 이것저것

docker context에 대해 (colima와 desktop-lunux)

이자다 2023. 8. 22. 15:55
반응형

docker를 처음 접할 땐 docker로 맥OS 상에서 오라클을 실행시키기 위한 방법을 찾을 때였다.

 

docker를 무겁게 데스크톱 앱으로 돌리지 않을 수 있는 colima를 사용해 실행했는데 이후 고민이 생겼다.

 

 

1. docker를 colima로 사용하면 다른 image를 pull할 때 도커 데스크톱 앱이랑 공유가 안되는데 데스크톱 앱은 어떻게 다루지? 

 

2. docker를 사용할 때 마다 colima를 실행해야 하는가?

 

 

이 두가지에 대한 답을 생활코딩 docker 강의를 수강하며 해결했다.

 

 

 

 

1번째 질문은 docker의 context를 변환하면 된다.

 

과정을 살펴보자.

 

docker image 명령어로 image들을 확인했다.

 

docker context ls로 확인한 결과 현재의 context는 colima이고 colima context 내부의 images가 위의 오라클 이미지라는 걸 알 수 있다.

 

 

docker context use desktop-linux 명령어로 현재 context를 colima에서 desktop-linux로 교체했다.

 

이후 docker images로 확인해보니 image가 아무것도 설치되어 있지 않다.

 

현재 desktop-linux context는 데스크톱 도커 애플리케이션 환경이고 도커 애플리케이션에는 이미지가 하나도 설치되어 있지 않은 상태이다.

 

이후 docker pull httpd로 docker에 아파치 웹서버를 설치한다(도커 허브 상에서 아파치 웹서버는 httpd라는 이름을 가지고 있다)

 

설치가 완료되면 도커 데스크톱 앱에 이미지가 설치된 것이 보인다.

 

이처럼 context를 교체해가며 데스크톱 환경이나 colima 환경으로 교체할 수 있다.

 

 

 

2번 질문 [docker를 사용할 때 마다 colima를 실행해야 하는가?] 에 대한 답을 하자면 '아니오' 이다.

 

docker의 context를 colima가 아니라 desktop-linux로 설정해두면 따로 colima를 start하지 않아도 docker 실행이 가능하다.

 

colima stop 명령어로 colima를 멈춘 후 docker images 명령어로 docker의 기능을 사용했다.

 

현재 context인 desktop-linux의 image가 출력된다.

 

colima의 실행 유무와 별개로 context가 colima와 관련없는, 데스크톱 앱의 context는 사용 가능하다.

 

이후 docker context ls로 현재 context를 알아보니 colima라는 가상환경을 종료한 상태라 colima의 docker는 context 조회에 잡히지 않는다.

반응형