Saya masih menggunakan desktop Docker untuk menjalankan bekas pada MacBook Air saya. Saya tahu ada Colima tetapi tiada masa untuk menukar dan menangani akibatnya.
Saya juga baru-baru ini mula menggunakan ko untuk menyimpan apl Go saya.
Saya suka ko - ia membina imej selamat dan nipis tanpa gangguan. Tetapi ada satu isu - secara lalai - ko build menolak imej yang terhasil ke pendaftaran jauh.
Ia agak baik untuk penghantaran berterusan, tetapi saya melakukan banyak percubaan dan saya tidak selalu mahu menerbitkan semua sampah yang saya cipta ke jauh - cuba mengambil berat tentang lebar jalur rangkaian dan storan imej.
Jadi sebaliknya saya mahu membina imej saya ke storan imej tempatan.
Ia adalah mungkin untuk melakukannya dengan ko build . -L
Cuma pada MacOs ini gagal untuk saya dengan perkara berikut:
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?
Jelas sekali pelanggan docker di dalam ko cuba menghubungi daemon Docker pada soket standard dan gagal.
Saya cuba googling untuk ralat ini tetapi tidak menemui apa-apa. Jadi saya memutuskan untuk menyelesaikannya sendiri.
Inilah perkaranya - pada MacOS soket Docker bukanlah standard /var/run/docker.sock - sebaliknya ia berada di ~/Library/Containers/com.docker.docker/Data/docker.raw.sock
Untuk membetulkannya, apa yang saya perlu lakukan ialah mencipta symlink dari soket Docker sebenar ke tempat pelanggan Docker standard menjangkakan untuk mencarinya:
sudo ln -s ~/Library/Containers/com.docker.docker/Data/docker.raw.sock /var/run/docker.sock
Sekarang daemon Docker boleh dihubungi melalui alamat soket standard - ko boleh menolak imej kepadanya:
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
Sementara itu saya juga membuka isu mengenai ko repo. Tetapi sehingga ia diperbaiki - penggodaman ini berfungsi seperti daya tarikan.
Semoga ini membantu anda juga.
Atas ialah kandungan terperinci Membetulkan penerbitan imej tempatan ko pada MacOs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!