Docker中go web項目部署

Dockerfile

#部署golang環境
FROM golang:1.9
#下載gin包
RUN go get github.com/gin-gonic/gin
#開放端口
EXPOSE 7070

在Dockerfile目錄打開一個終端,運行

sudo docker build -t my-gin .

之后待到鏡像構建完畢之后通過

sudo docker images

可以查看到tag為latest的my-gin鏡像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my-gin              latest              689590bc3953        28 minutes ago      756MB

這是因為我們用docker build命令的時候沒有指定my-gin的tag,所以默認是latest,你也可以這樣使用:

sudo docker build -t my-gin:test .

這樣會得構建一個tag為test的my-gin鏡像

啟動容器

現在已經擁有一個tag為my-gin的鏡像,我們需要利用這個鏡像啟動一個容器

docker run -it --rm --name gin-instance -p 7070:7070 -v /home/youngblood/Go/src/ginDocker:/go/src/ginDocker -w /go/src/ginDocker my-gin

說明

  • docker run 用于從一個image上啟動一個容器
  • -it 標簽以交互的方式啟動容器
  • --rm 標簽在容器關閉后會會刪除該容器,查看容器命令:sudo docker ps -a
  • -p 7070:7070標簽允許榮過主機的7070端口訪問docker容器中的7070端口
  • -v /home/youngblood/Go/src/ginDocker:/go/src/ginDocker表示將docker容器中的/go/src/ginDocker目錄掛在到物理機的/home/youngblood/Go/src/ginDocker目錄中,/home/youngblood/Go是我物理機的GOPATH,你也可以選擇不用這個目錄
  • -w /go/src/ginDocker表示打開容器中的工作目錄
  • my-gin則是表示該容器使用的鏡像文件

啟動成功之后便會進入容器的/go/src/ginDocker目錄,如下

root@774e60551b73:/go/src/ginDocker# 

現在我們在物理機上編寫ginDocker的一些功能,新建一個main.go,寫入如下代碼

package main

import (
    "net/http"
    "github.com/gin-gonic/gin"
)

func main() {

    router := gin.Default()

    router.GET("/hello/:name", func(c *gin.Context) {
        name := c.Param("name")
        c.String(http.StatusOK, "hello %s", name)
    })
    router.Run(":7070")
}

在容器中執行如下命令

root@774e60551b73:/go/src/ginDocker# go build ginDocker
root@774e60551b73:/go/src/ginDocker# ./ginDocker

出現如下結果

root@774e60551b73:/go/src/ginDocker# go build ginDocker
root@774e60551b73:/go/src/ginDocker# ./ginDocker 
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /hello/:name              --> main.main.func1 (3 handlers)
[GIN-debug] Listening and serving HTTP on :7070

現在在物理機上的瀏覽器訪問localhost:7070/hello/初級賽亞人

訪問ginDocker截圖

這樣我們就完成了一個go web項目的部署

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容

  • Docker — 云時代的程序分發方式 要說最近一年云計算業界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,564評論 15 147
  • 五、Docker 端口映射 無論如何,這些 ip 是基于本地系統的并且容器的端口非本地主機是訪問不到的。此外,除了...
    R_X閱讀 1,774評論 0 7
  • 轉載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,520評論 0 120
  • 前幾天,在圖書館借到了一本由韓寒主編的書《我們從未陌生過》。 其中有個故事講的是逆流者,所謂逆流者,就是所有人都順...
    六厘米閱讀 283評論 2 0
  • 你在哪座城市?過著怎樣的生活?留下怎樣的故事? 終究是因為一座城市習慣了一種生活,還是因為習慣了一...
    斌心依舊閱讀 314評論 0 0