저는 여전히 Docker 데스크톱을 사용하여 MacBook Air에서 컨테이너를 실행하고 있습니다. 나는 Colima가 있다는 것을 알고 있지만 전환하여 결과를 처리할 시간이 없습니다.
또한 최근에는 Go 앱을 컨테이너화하기 위해 ko를 사용하기 시작했습니다.
I love ko - 배포되지 않은 안전하고 슬림한 이미지를 구축합니다. 그러나 한 가지 문제가 있습니다. 기본적으로 ko 빌드는 결과 이미지를 원격 레지스트리에 푸시합니다.
지속적인 전달에는 괜찮지만 실험을 많이 하고 내가 만든 모든 쓰레기를 항상 원격에 게시하고 싶지는 않습니다. 네트워크 대역폭과 이미지 저장을 고려하려고 노력합니다.
그래서 대신 로컬 이미지 저장소에 이미지를 구축하고 싶습니다.
ko build 를 사용하면 가능합니다. -엘
MacO에서는 다음과 같은 문제로 인해 실패했습니다.
2024/07/22 15:52:50 Loading otomato/myapp:717e6196339c956bc878bd58f5ab8244a709dc0510051f9e6df72620f28a2aaa 2024/07/22 15:52:50 daemon.Write response: Error: failed to publish images: error publishing ko://github.com/otomato/myapp: error loading image: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
ko 내부의 docker 클라이언트가 표준 소켓의 Docker 데몬에 연결하려고 시도했지만 실패했습니다.
이 오류에 대해 인터넷 검색을 시도했지만 아무것도 찾지 못했습니다. 그래서 제가 직접 해결하기로 했습니다.
문제는 다음과 같습니다. MacOS에서 Docker 소켓은 표준 /var/run/docker.sock이 아닙니다. 대신 ~/Library/Containers/com.docker.docker/Data/docker.raw.sock
이 문제를 해결하려면 실제 Docker 소켓에서 표준 Docker 클라이언트가 이를 찾을 것으로 예상하는 위치로 심볼릭 링크를 생성해야 했습니다.
sudo ln -s ~/Library/Containers/com.docker.docker/Data/docker.raw.sock /var/run/docker.sock
이제 표준 소켓 주소를 통해 Docker 데몬에 접속할 수 있으므로 ko는 이미지를 여기에 푸시할 수 있습니다.
ko build . -B -L --platform linux/arm64 2024/07/22 16:04:04 Building github.com/otomato/myapp for linux/arm64 2024/07/22 16:04:04 Loading otomato/myapp:717e6196339c956bc878bd58f5ab8244a709dc0510051f9e6df72620f28a2aaa 2024/07/22 16:04:05 Loaded otomato/myapp:717e6196339c956bc878bd58f5ab8244a709dc0510051f9e6df72620f28a2aaa 2024/07/22 16:04:05 Adding tag latest 2024/07/22 16:04:05 Added tag latest otomato/myapp:717e6196339c956bc878bd58f5ab8244a709dc0510051f9e6df72620f28a2aaa
그와 동시에 ko repo에도 이슈를 열었습니다. 하지만 문제가 해결될 때까지 이 꿀팁은 정말 매력적입니다.
이 내용이 여러분에게도 도움이 되기를 바랍니다.
위 내용은 MacOs에서 ko 로컬 이미지 게시 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!