Header
기존의 Docker Desktop의 구독정책으로, 오픈소스 기반의(무료!) docker contianer 환경이 필요 해 졌습니다. lima에 기반한 colima 컨테이너 런타임을 세팅하며 발생한 이슈와 가이드를 아래와 같이 정리하였습니다.
테스트환경
- Macbook Pro 16" m1 pro (2021)
- MacOS Ventura 13.6.3(22G436)
Prerequisite
Homebrew가 설치 되어있지 않다면, 홈페이지를 방문하여 설치하도록 합니다. 아래와 같은 설치 스크립트를 사용하시면 됩니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Colima / Docker Intallation
앞서 준비해 둔 brew를 통해 colima, docker, docker-compose 패키지를 설치합니다.
패키지 설치
# colima 설치
brew install colima
# docker 및 docker-compose 설치
brew install docker docker-compose
이후 명령어를 통해 실행하거나, 서비스 등록하여 사용할 수 있습니다.
colima 실행
colima start
colima 서비스 등록
# 서비스 등록
brew services start colima
# 서비스 상태 확인
# 상세한 에러로그는 아래 명령어에서 확인할 수 있는 .plist 파일의 StandardErrorPath(/opt/homebrew/var/log/colima.log)를 참고해주세요
brew services list
Trouble Shooting
Image Pull이 되지 않는 경우
error getting credentials - err: exec: "docker-credential-desktop": execugtable file not found in $PATH, out: ``
컨테이너 실행 또는 이미지 풀을 수행하는 경우 위와 같은 에러를 마주했습니다. stack overflow 답변을 참고하여 아래와 같이 해결하였습니다.
Image Pull이 되지 않는 경우
# docker config 파일의 경로(/Users/user/.docker/)를 찾습니다.
find /Users/user/ -name config.json
# config 파일을 열어, "credsStore" key-value 삭제 또는 key 변경
sudo vim /Users/user/.docker/config.json
서비스 등록이 되지 않는 경우
서비스 실행 시 에러가 발생하여 서비스 등록이 되지 않는 문제를 마주했습니다. github issue를 참고하여 아래와 같이 해결하였습니다.
brew 설치시 root 권한으로 설치되면 LauchAgents 디렉토리 접근권한이 부족하여 서비스 실행이 되지 않는 문제로 보입니다.
# 서비스파일 생성 경로의 소유자를 변경합니다.
chown <쉘 접속 유저> ~/Library/LaunchAgents
Volume mount가 되지 않는 경우
colima Permission denied @ rb_sysopen 또는
chgrp: changing group of ‘mongo’: Operation not permitted
로그, 데이터베이스 데이터 백업을 위해 Docker Volume을 mount하던 중, 위와 같은 에러를 마주했습니다. stack overflow 답변을 참고하여 아래와 같이 해결하였습니다.
# 실행중인 colima를 종료합니다.
colima delete
# Homebrew 서비스로 실행중이었다면 아래와 같이 종료합니다.
brew services stop colima
# colima 설정파일을 열어 아래와 같이 수정합니다. line-number가 다를 수 있음에 주의하세요.
colima template
vmType 변경
vmType: vz
mountType: virtiofs