반응형
오류 메세지
Error response from daemon: Head "https://registry-1.docker.io/v2/moby/buildkit/manifests/buildx-stable-1": unauthorized: incorrect username or password
어제까지만 해도 잘 동작하던 docker가 위와 같은 에러를 내뿜고 있었습니다.
원인 찾기
어제 한 일을 돌이켜 보면, 서비스에서 사용할 base docker 이미지를 만들어서 docker hub에 올렸습니다.
그런데 Local은 arm64 환경이었고, 배포 환경은 amd64였기 때문에 둘 다에서 사용하려면 multi-platform build를 진행해야 했죠.
아래 명령으로 진행을 했고,
docker buildx create --name mybuilder --use --bootstrap
docker buildx build --push --platform linux/amd64,linux/arm64 -f Dockerfile -t <docker_hub_id>/<repository_name>:<버전> .
그 전에 docker hub에 push하기 위해서 login을 먼저 했습니다.
해결하기
그래서 우선 docker logout을 통해서 login을 풀었습니다.
로그인을 풀었더니 build는 정상적으로 진행되는데, 전에 보지 못했던 메세지가 추가로 보였습니다.
=> [internal] booting buildkit 10.9s
=> => pulling image moby/buildkit:buildx-stable-1 10.4s
=> => creating container buildx_buildkit_mybuilder0
아마도 buildx를 이용해서 build를 진행할 때 지정해 놨던 것이 계속 사용되고 있는 듯 했습니다.
$ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
mybuilder * docker-container
mybuilder0 unix:///var/run/docker.sock stopped
default docker
default default running 20.10.21 linux/arm64, linux/amd64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
desktop-linux docker
desktop-linux desktop-linux running 20.10.21 linux/arm64, linux/amd64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
현재 builtkit이 mybuilder가 사용되고 있는 듯하여, default로 다시 변경하고 mybuilder는 우선 지워줬습니다.
$ docker buildx use default
$ docker buildx stop mybuilder
$ docker buildx rm mybuilder
그랬더니 예전처럼 정상적으로 동작이 됐습니다!
반응형
'오늘의오류' 카테고리의 다른 글
오늘의 오류 - Flutter Bloc 사용 시 warning (0) | 2022.12.15 |
---|