Post
EN

Rancher를 이용해서 docker를 사용할 때 Test Container 설정 관련

기존에 로컬에서 Docker Desktop을 사용하던 중 회사에서 라이센스 지원 중단됨에 따라 Rancher로 변경하고, docker를 이용하고 있었다.

이번에 test code를 작성하면서 test container를 이용해서 작성하기로 생각했고, 관련한 test code를 작성하고 있었다.

그런데 맥북 재시작을 한 뒤부터 test code 실행시 docker container를 구동할 수 없다는 식의 오류가 발생되는 것이다.

당황해서 관련된 부분을 팀원에게 물어봤더니 rancher를 이용하는 경우 설정을 해줘야 하는 부분이 있더라.. 😅 (기존에 왜 정상구동 된거지?)

아무튼 관련 설정 방법을 남겨놓도록 한다.

우선 에뮬레이터 종류에 따라서 설정방법이 다른 것 같다. 관련된 사항은 아래 링크를 참고하고 자세하게 보면 좋을 것 같다.

https://java.testcontainers.org/supported_docker_environment/

화면 캡쳐와 잘 정리된 글은 아래 이슈를 확인하면 좋다.

https://github.com/rancher-sandbox/rancher-desktop/issues/2609

결국 내 로컬에서는 아래와 같이 .zshrc에 설정을 추가해줘서 문제를 해결했다.

이슈에 있는 export 문을 따라하면 vznat 을 찾을 수 없다고 나오는데,

rdctl shell ip a show

명령어를 입력하고 docker 0에서 나오는 ip를 이용하면 되는 것으로 보였다.

그래서 그 ip 주소를 획득해서 입력할 수 있도록 설정했다.

export PATH=$PATH:$HOME/.rd/bin export DOCKER_HOST=unix://$HOME/.rd/docker.sock export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock export TESTCONTAINERS_HOST_OVERRIDE=$(rdctl shell ip a show docker0 | awk '/inet / {sub("/.*",""); print $2}')

This article is licensed under CC BY 4.0 by the author.