如何利用docker 構建golang線上部署環境

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

公司最近開發了一個項目是用golang 寫的,現在要部署到線上環境去,又不想在伺服器上裝單獨的golang,決定用docker 封裝下,直接打到鏡像裡面,然後就直接在hub.docker.com上面搜了下golang的鏡像,直接就docker pull golang 最新的是1.9的版本

然後參考官方的文檔弄了下Dockerfile大概是這樣:

 

FROM golangMAINTAINER  jackluo#指定工作目錄WORKDIR /go/src/ActivitApiCOPY . .CMD ["/bin/bash", "build.sh"]

build.sh裡面的代碼是這樣,大概就是進入目錄,編譯golang ,最後運行編譯好的server 檔案

#!/usr/bin/env bashcd /go/src/ActivitApi/server && go build && ./server

其實可以直接運行編譯好的.server 檔案,因為每次啟動的時候,它才去編譯,可能啟個服務,需要幾秒鐘的時間,我們寫的大概編譯再啟動需要10秒左右的時間

最後啟用docker

#!/usr/bin/env bashdocker stop apihdtestdocker rm apihdtestdocker run -d --name apihdtest \            -p 17071:17071 \            --link mysql:mysql.io \            --link redis:redis.io \            -v $(pwd):/go/src/ActivitApi \            activityapi#docker exec -it apihdtest /bin/bash /go/src/ActivitApi/build.sh

然後這個就啟起來了

最後,我們看下完整的吧

 

僅參考.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.