Kafka 를 Docker 로 띄우려고 하다가 Error 가 났다.

 

사용한 이미지는 wurstmeister 님이 작성해주신 이미지로

pulls 가 50M+ 이나 되고 git start 도 4.1k 나 된다.

 

그렇다면 내가 잘못한 것이라 생각하여 해결방법을 찾아보았다.

 

 

[Quick Start 참고하여 예제 진행 중 docker-compose up -d 명령에서 에러 발생]

 

 

Step 11/14 : RUN apk add --no-cache bash curl jq docker  && chmod a+x /tmp/*.sh  && mv /tmp/start-kafka.sh /tmp/broker-list.sh /tmp/create-topics.sh /tmp/versions.sh /usr/bin  && sync && /tmp/download-kafka.sh  && tar xfz /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz -C /opt  && rm /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz  && ln -s /opt/kafka_${SCALA_VERSION}-${KAFKA_VERSION} ${KAFKA_HOME}  && rm /tmp/*  && wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk  && apk add --no-cache --allow-untrusted glibc-${GLIBC_VERSION}.apk  && rm glibc-${GLIBC_VERSION}.apk
 ---> Running in 6d19376cffa6
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz: temporary error (try again later)
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
ERROR: unsatisfiable constraints:
  bash (missing):
    required by: world[bash]
  curl (missing):
    required by: world[curl]
  docker (missing):
    required by: world[docker]
  jq (missing):
    required by: world[jq]
ERROR: Service 'kafka' failed to build: The command '/bin/sh -c apk add --no-cache bash curl jq docker  && chmod a+x /tmp/*.sh  && mv /tmp/start-kafka.sh /tmp/broker-list.sh /tmp/create-topics.sh /tmp/versions.sh /usr/bin  && sync && /tmp/download-kafka.sh  && tar xfz /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz -C /opt  && rm /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz  && ln -s /opt/kafka_${SCALA_VERSION}-${KAFKA_VERSION} ${KAFKA_HOME}  && rm /tmp/*  && wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk  && apk add --no-cache --allow-untrusted glibc-${GLIBC_VERSION}.apk  && rm glibc-${GLIBC_VERSION}.apk' returned a non-zero co

de: 4

 

 

오류의 내용은 build 실패이다.

yml 파일을 살펴보면

 

kafka 서비스를 실행할 때 build tag 가 . 으로 되어있다.

해당 라인의 의미는 directory 에서 빌드를 진행한다는 내용이였다.

 

빌드는 될까?

 

당연히 빌드에서도 에러가 발생했다.

 

한참 구글링을 하던 중 docker 의 dns 설정이 문제가 있다라는 의견을 보았다.

좀 더 찾다보니 빌드를 할 때 --network 옵션을 사용하라는 의견이 있었다.

 

$ docker build -t kafka:solar-1.0.0 . --network host

 

빌드가 잘되는 걸 보니 docker 의 dns 문제가 맞는 듯 하다.

 

docker-compose.yml 파일에서 해당 이미지로 적용!

 

build tag 를 지워버리고 image tag 를 작성해서 방금 빌드한 이미지로 변경했다.

 

해결되었다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기