티스토리 뷰
Knative func을 배포하려고 할 때 아래와 같은 오류가 발생했습니다(build를 해도 마찬가지 입니다). 갑작스러운 건 아니고, 테스트를 진행한 MacOS(M3)에서 처음 발생한 상황이네요.
$ func deploy -b=s2i -v
A registry for function images is required. For example, 'docker.io/tigerteam'.
? Registry for function images: docker.io/jybaek
Note: building a function the first time will take longer than subsequent builds
Building function image
Error: cannot create docker client: docker/podman API not available
Possible causes:
The docker/podman daemon is not running.
The DOCKER_HOST environment variable is not set.
당연히 docker는 docker desktop으로 실행되고 있던 상황이라 의심할 게 없었습니다. 혹시나 해서 docker host를 못 찾는 건가 싶어 context를 살펴봤습니다.
$ docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default Current DOCKER_HOST based configuration unix:///var/run/docker.sock
desktop-linux * Docker Desktop unix:///Users/jybaek/.docker/run/docker.sock
아니 이런! desktop의 docker.sock 위치가 default가 아니네요. 아마도 Knative func에서 참조하는 기본 위치는 unix:///var/run/docker.sock인 것 같습니다. DOCKER_HOST를 아래와 같이 지정하도록 합시다. 필요한 경우 .bash_profile 등에서 사용해 주도록 합니다.
export DOCKER_HOST=unix:///Users/jybaek/.docker/run/docker.sock
다시 func deploy를 진행하면 정상적으로 진행되는 것을 확인할 수 있습니다.
$ func deploy -b=s2i -v
A registry for function images is required. For example, 'docker.io/tigerteam'.
? Registry for function images: docker.io/jybaek
Note: building a function the first time will take longer than subsequent builds
Warning: registry 'docker.io/jybaek' does not match currently built image 'hub.docker.com/jybaek/bad-word-filter/bad-word-filter:latest' and no direct image override was provided via --image
Building function image
Step 1/8 : FROM registry.access.redhat.com/ubi8/python-39
latest: Pulling from ubi8/python-39
Digest: sha256:39ded558fb5a9de976b0ec01470138b54ea7482b3eb0f46b3abf35e7bac97aa4
Status: Image is up to date for registry.access.redhat.com/ubi8/python-39:latest
---> 940525b88439
Step 2/8 : LABEL "io.openshift.s2i.build.image"="registry.access.redhat.com/ubi8/python-39" "io.openshift.s2i.build.source-location"="/Users/jybaek/work/docs/code-samples/eventing/bookstore-sample-app/start/bad-word-filter" "io.k8s.display-name"="index.docker.io/jybaek/bad-word-filter:latest"
---> Running in 177af8ebe893
---> cb9dda1c6181
...
'개발 > kubernetes' 카테고리의 다른 글
PodDisruptionBudget로 애플리케이션 보호 (0) | 2024.07.28 |
---|---|
다시 정리하는 쿠버네티스 : HPA와 Karpenter (0) | 2023.08.21 |
다시 정리하는 쿠버네티스 : 컴포넌트 개념 #1 (2) | 2020.01.31 |
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday