如何使用Docker快速部署go web應用程式

2021-09-23 19:17:27 字數 1480 閱讀 2783

雖然大部分go應用程式可以編譯為乙個單一的二進位制檔案。都是對於web應用程式來說,可能還有自己的模板和配置檔案。如果在乙個專案中包含大量的檔案,可能會因為檔案的不同步而導致出錯或造成更嚴重的錯誤。

本文將通過beego應用程式在docker中的快速部署,來介紹如何使用docker簡化go-web應用程式的部署。通過該文章您可以了解如何使用docker部署go web應用程式,以及docker如何幫您改善開發工作流和部署過程。

本文主要是為了演示如何快速的部署乙個go web應用程式到docker容器中。所以在技術選型了,使用beego go web框架進行演示說明。

bee new go-web-demo
此時將會在我們的,$gopath/src下建立乙個go-web-demo的專案。為了驗證我們的專案是可以執行的,此時我們只需要執行如下命令

cd go-web-demo

bee run

此時,通過瀏覽器訪問http://localhost:8080, 則會展示如下頁面

當看到以上的頁面,說明我們的程式執行正常。接下來我們開始製作beego 的docker映象

最終生成的dockerfile內容如下:

# 使用go的官方映像作為基礎映像。這個映像是go 1.6預安裝的。該映像的$gopath值已被設定為/go。所有安裝在/go/src的程式包都能通過go命令訪問。

from golang:1.6

# 安裝beego程式包和bee工具。beego程式包將在應用程式內部使用,bee工具將用於在開發過程中實時過載**。

# 通過開發計算機上容器的8080埠暴露該應用程式。最後一行,

expose 8080

# 使用bee命令開始對我們的應用程式進行實時過載。

cmd ["bee", "run"]

建立好docker檔案之後,可執行下列命令建立映像:

docker build -t go-web-demo .
執行上述命令可建立乙個名為go-web-demo的映象。我們可以把這個映象發布到映象倉庫供開發團隊中所有的成員來使用,這樣就可以保證開發環境的一致性。

要檢視您系統中的映像列表,請執行下列命令:

docker images
執行該命令,可以看到如下的內容,請注意紅框標記處為我們剛才構建好的映象。

準備好go-web-demo之後,可以使用下列命令啟動乙個容器:

接下來,我們對執行的命令做一些簡單的解釋:

當容器啟動以後,我們可以通過訪問http://localhost:8080來驗證容器是否執行正常。

本文主要通過使用beego這個go web的開發框架來講解如何使用構建映象以及使用docker容器。

使用docker快速部署rabbitmq單機和集群

節點名稱 ip位址 node1 192.168.130.20 node2 192.168.130.19 node3 192.168.130.21 略第乙個名稱為主機的名稱 第二個是搭建集群用到的名稱 hostname 192.168.130.20 rq node1 192.168.130.19 rq...

使用docker快速部署logstash

節點名稱 ip位址 node1 192.168.130.20 node2 192.168.130.19 node2 192.168.130.21 略啟動容器 docker run d p 5044 5044 name logstash logstash 7.4.1拷貝配置 mkdir p root ...

快速部署docker

docker安裝 社群版ce 免費的,另一版本收錢的 uname r 檢視當前核心版本 安裝 docker engine community 使用 docker 倉庫進行安裝 在新主機上首次安裝 docker engine community 之前,需要設定 docker 倉庫。之後,您可以從倉庫安...