天天看點

docker(8):使用alpinelinux 建構 golang http 看看能有多小1,alpine linux 非常小2,首先在centos 搭建golang環境3,編寫docker build4,啟動5,總結

首先 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 就能解決問題呢。看來是一個不錯的探索。

其他環境也可以研究下。