首先 alpine 非常的小,安裝上了bash 之後也才 5mb。
golang 不需要其他的依賴,想看看是不是能在 alpine 上面跑呢。
搭建一個golang的環境,而不是把golang的環境放到alpine上面。
<a href="https://golang.org/doc/install">https://golang.org/doc/install</a>
下載下傳然後解壓縮:
假設gopath 在/data/go目錄下面。
編寫http.go
非常簡單。
go build http.go
./http
vi dockerfile
建立了一個最小的docker鏡像環境。然後把源設定成清華的。并且安裝了curl和 bash 工具。
一共就隻有 10mb的容器,非常的小呢。
但是但是現實還是殘酷的。由于alpine太精簡了。造成golang沒有起來。
看了一個核心linux 是啟動不了 golang的。
最終的dockerfile:
還是用到了docker官方的golang環境,才能啟動。
否則報錯
可執行檔案都找不到。容器無法啟動。
最終golang 在一個官方的環境下啟動了。
沒有弄明白golang到底需要啥環境。
最終大小為 679.6 mb
還以為 10mb 就能解決問題呢。看來是一個不錯的探索。
其他環境也可以研究下。