Docker中go web項目部署

Dockerfile

#部署golang環(huán)境
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鏡像

啟動容器

現(xiàn)在已經擁有一個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# 

現(xiàn)在我們在物理機上編寫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")
}

在容器中執(zhí)行如下命令

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

出現(xiàn)如下結果

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

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

訪問ginDocker截圖

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市练俐,隨后出現(xiàn)的幾起案子袖迎,更是在濱河造成了極大的恐慌,老刑警劉巖腺晾,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燕锥,死亡現(xiàn)場離奇詭異,居然都是意外死亡悯蝉,警方通過查閱死者的電腦和手機归形,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鼻由,“玉大人暇榴,你說我怎么就攤上這事〗妒溃” “怎么了蔼紧?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狠轻。 經常有香客問我奸例,道長,這世上最難降的妖魔是什么向楼? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任查吊,我火速辦了婚禮,結果婚禮上蜜自,老公的妹妹穿的比我還像新娘菩貌。我一直安慰自己,他們只是感情好重荠,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布箭阶。 她就那樣靜靜地躺著虚茶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仇参。 梳的紋絲不亂的頭發(fā)上嘹叫,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音诈乒,去河邊找鬼罩扇。 笑死,一個胖子當著我的面吹牛怕磨,可吹牛的內容都是我干的喂饥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼肠鲫,長吁一口氣:“原來是場噩夢啊……” “哼员帮!你這毒婦竟也來了?” 一聲冷哼從身側響起导饲,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤捞高,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后渣锦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體硝岗,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年袋毙,在試婚紗的時候發(fā)現(xiàn)自己被綠了型檀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡听盖,死狀恐怖贱除,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情媳溺,我是刑警寧澤月幌,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站悬蔽,受9級特大地震影響扯躺,放射性物質發(fā)生泄漏。R本人自食惡果不足惜蝎困,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一录语、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧禾乘,春花似錦澎埠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氮趋。三九已至,卻和暖如春江耀,著一層夾襖步出監(jiān)牢的瞬間剩胁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工祥国, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昵观,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓舌稀,卻偏偏與公主長得像啊犬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子壁查,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容

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