erea

gitlab runner docker:dind 문제 본문

devops/trouble shooting

gitlab runner docker:dind 문제

erea 2019. 10. 12. 17:05

gitlab runner에서

docker:dind로 runner에서 docker쪽 기능을 사용해서 빌드 하는 일이 있다.

구조는

docker:dind로 docker 컨테이너를 띄우고

runner container에서 tcp://docker:2375로 소켓을 열어

호스트에 docker자원을 이용하지않고 일회용 컨테이너 docker컨테이너를 이용해서 docker 작업을 하는 구조

하지만 dockler:dind  19.03 부터는 TLS 인증 기본포트 2376으로 바뀌었다. 

( 다른 컨테이너에 대한 네트워크 액세스 권한이 dind자신의 게이트웨이 인터페이스를 통해 호스트에 접속을 초래할 수있는 잠재적 인 보안 문제)로 인해 패치되었다

그래서 기존 runner 어플리케이션에서는 당연히 tcp://docker:2375 번으로 통신을 요청하니 장애 발생

해결방안

services:

  - docker:dind

->

services:

  - docker:18.09.7-dind

해당 18버젼으로 해결가능하다.

Comments