本文目錄一覽:
Golang項目部署3,容器部署
容器部署即使用 docker 化部署 golang 應用程序,這是在雲服務時代最流行的部署方式,也是最推薦的部署方式。
跨平台交叉編譯是 golang 的特點之一,可以非常方便地編譯出我們需要的目標伺服器平台的版本,而且是靜態編譯,非常容易地解決了運行依賴問題。
使用以下指令可以靜態編譯 Linux 平台 amd64 架構的可執行文件:
生成的 main 便是我們靜態編譯的,可部署於 Linux amd64 上的可執行文件。
我們需要將該可執行文件 main 編譯生成 docker 鏡像,以便於分發及部署。 Golang 的運行環境推薦使用 alpine 基礎系統鏡像,編譯出的容器鏡像約為 20MB 左右。
一個參考的 Dockerfile 文件如下:
其中,我們的基礎鏡像使用了 loads/alpine:3.8 ,中國國內的用戶推薦使用該基礎鏡像,基礎鏡像的 Dockerfile 地址: ,倉庫地址:
隨後使用 ” docker build -t main . ” 指令編譯生成名為 main 的 docker 鏡像。
需要注意的是,在某些項目的架構設計中, 靜態文件 和 配置文件 可能不會隨著鏡像進行編譯發布,而是分開進行管理和發布。
例如,使用 MVVM 模式的項目中(例如使用 vue 框架),往往是前後端非常獨立的,因此在鏡像中往往並不會包含 public 目錄。而使用了 配置管理中心 (例如使用 consul / etcd / zookeeper )的項目中,也往往並不需要 config 目錄。
因此對於以上示例的 Dockerfile 的使用,僅作參考,根據實際情況請進行必要的調整。
使用以下指令可直接運行剛才編譯成的鏡像:
容器的分發可以使用 docker 官方的平台: ,國內也可以考慮使用阿里云: 。
在企業級生產環境中, docker 容器往往需要結合 kubernetes 或者 docker swarm 容器編排工具一起使用。
容器編排涉及到的內容比較多,感興趣的同學可以參考以下資料:
golang web有必要容器化嗎
有必要。
對於運行我們應用程序的主機,不管是筆記本電腦還是web伺服器,我們唯一需要做的就是運行一個docker容器平台。從以後,你就不需要擔心你使用的是MacOS,Ubuntu,Arch還是其他。你只需定義一次應用,即可隨時隨地運行。
如何在容器中運行docker命令 構建golang
安裝JDK . 以後就可以運行java命令,只有javac命令需要設置path環境變數,在最後面增加:;C:\ProgramFiles\Java\jdk . . _ \bin後面的jdk . . _ 根據安裝路徑修改。說明「java文件名」後面的文件不是test.class之類的文件,就是在當前的文件夾中沒有這個文件名。Windows 系統要使用管理員身份運行cmd,ForExercise.java可以放在D:盤根目錄,然後在黑窗口中輸入d:javacForExercise.java如果沒有出錯再輸入javaForExercise就會輸出結果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247233.html