首頁 >後端開發 >Golang >為什麼我的 Go 二進位檔案無法在 Alpine Linux Docker 映像中找到其相依性?

為什麼我的 Go 二進位檔案無法在 Alpine Linux Docker 映像中找到其相依性?

Barbara Streisand
Barbara Streisand原創
2024-12-06 04:57:14791瀏覽

Why Can't My Go Binary Find Its Dependencies in My Alpine Linux Docker Image?

Alpine Linux Docker 中已安裝的Go 二進位檔案未在路徑中找到

在這個問題中,一位用戶試圖在Alpine Docker 映像上執行一個Go 二進位。該二進位檔案被成功安裝,但無法在路徑中找到。這個問題與 Alpine Linux 中缺少的 glibc 有關,導致程式找不到其依賴項。

解決此問題的答案是添加一個符號鏈接,將 musl 的 libc 鏈接到 glibc 中 ld 所需的 libc 替代項。這可以透過以下Dockerfile 指令來實現:

RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86_64.so.2

此指令建立/lib64 目錄(如果它不存在)並建立符號鏈接,將musl 的libc 連結到glibc 中ld 所需的libc 替代項。完成此操作後,Go 二進位檔案將能夠找到其依賴項並在路徑中找到。

以上是為什麼我的 Go 二進位檔案無法在 Alpine Linux Docker 映像中找到其相依性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn