[golang][docker]將golang撰寫的執行檔發佈到 Docker 的容器
要將用 Golang 撰寫的執行檔發佈到 Docker 容器,可以按照以下步驟進行:
1. 撰寫 Golang 程式
確保你的 Go 程式碼能夠正確執行,並且有 main.go 入口檔案。例如:
2. 建立 Dockerfile
在專案目錄下建立 Dockerfile,內容如下:
解釋:
- 多階段建置:使用
golang:1.21作為建置環境,然後將編譯後的執行檔複製到alpine(輕量級 Linux)。- 靜態編譯:確保
CGO_ENABLED=0以減少對系統庫的依賴,確保可攜性。- 最終映像:使用
alpine,最小化 Docker 容器大小。
3. 建立 .dockerignore(可選)
避免將不必要的檔案(如 vendor、本地編譯檔案等)加入 Docker 映像:
.git
bin/
*.exe
*.out
*.log
4. 建置與運行 Docker 容器
執行以下指令來建置和運行容器:
然後,打開瀏覽器或使用 curl 測試:
應該會看到 Hello, Docker with Golang!。
5. 最佳化(可選)
如果想要更小的映像,可以改用 scratch:
這樣映像大小可以從 幾百 MB 降到幾 MB。
留言
張貼留言