最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用docker構(gòu)建golang線上部署環(huán)境的步驟詳解

 更新時間:2017年11月27日 08:47:35   作者:jackluo  
這篇文章主要介紹了使用docker構(gòu)建golang線上部署環(huán)境的步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

Docker用于開發(fā)

Docker不僅用于部署,它還可以用于開發(fā)。

1、為什么要在開發(fā)中使用Docker

主要有以下幾個原因。

1)一致的開發(fā)環(huán)境

使用Docker,可以保證整個研發(fā)團隊使用一致的開發(fā)環(huán)境。

2)開發(fā)環(huán)境與最終的生產(chǎn)環(huán)境保持一致

這減少了部署出錯的可能性。

3)簡化了編譯和構(gòu)建的復(fù)雜性

對于一些動輒數(shù)小時的編譯和構(gòu)建工作,可以用Docker來簡化。

4)在開發(fā)時只需Docker

無需在自己的開發(fā)主機上搭建各種編程語言環(huán)境。

5)可以使用同一編程語言的多個版本

可以使用同一編程語言(如python, python, ruby, ruby, java, node)等的多個版本,無需解決多版本沖突的問題。

6)部署很簡單

應(yīng)用程序在容器中運行,和在生產(chǎn)環(huán)境中部署運行是一樣的。只需打包你的代碼并部署到帶有同樣鏡像的服務(wù)器上,或者是把代碼連同原鏡像建立一個新Docker鏡像再直接運行新鏡像。

7)使用自己喜歡的開發(fā)IDE

仍然可以繼續(xù)使用自己喜歡的開發(fā)IDE,無需運行VirtualBox虛擬機或SSH。

引言

公司最近開發(fā)了一個項目是用golang 寫的,現(xiàn)在要部署到線上環(huán)境去,又不想在服務(wù)器上裝單獨的golang,決定用docker 封裝下,直接打到鏡像里面,然后就直接在hub.docker.com上面搜了下golang的鏡像,直接就docker pull golang 最新的是1.9的版本

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

FROM golang
MAINTAINER jackluo
#指定工作目錄
WORKDIR /go/src/ActivitApi
COPY . .

CMD ["/bin/bash", "build.sh"]

build.sh里面的代碼是這樣,大概就是進入目錄,編譯golang ,最后運行編譯好的server 文件

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

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

最后啟用docker

#!/usr/bin/env bash

docker stop apihdtest
docker rm apihdtest
docker 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

然后這個就啟起來了

最后,我們看下完整的截圖吧


總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。 

相關(guān)文章

  • Golang實現(xiàn)超時機制讀取文件的方法示例

    Golang實現(xiàn)超時機制讀取文件的方法示例

    讀寫文件是Go程序的基本任務(wù),包括使用程序查看文件內(nèi)容、創(chuàng)建或修改文件,Go提供了os,ioutil,io以及bufio包實現(xiàn)文件操作,本文介紹如果在讀文件過程中增加超時機制,避免文件太大一直占用資源,需要的朋友可以參考下
    2025-01-01
  • Go語言學(xué)習(xí)網(wǎng)絡(luò)編程與Http教程示例

    Go語言學(xué)習(xí)網(wǎng)絡(luò)編程與Http教程示例

    這篇文章主要為大家介紹了Go語言學(xué)習(xí)網(wǎng)絡(luò)編程與Http教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 一文詳解Golang使用接口支持Apply方法的配置模式

    一文詳解Golang使用接口支持Apply方法的配置模式

    這篇文章主要為大家介紹了一文詳解Golang使用接口支持Apply方法的配置模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 一文帶你了解Go語言中的函數(shù)

    一文帶你了解Go語言中的函數(shù)

    函數(shù)是編程中不可或缺的組成部分,在本文中,我們將詳細介紹Go語言中函數(shù)的概念和使用方法,包括函數(shù)的定義、參數(shù)和返回值等,需要的可以參考一下
    2023-06-06
  • Go Excelize API源碼閱讀GetPageLayout及SetPageMargins

    Go Excelize API源碼閱讀GetPageLayout及SetPageMargins

    這篇文章主要為大家介紹了Go Excelize API源碼閱讀GetPageLayout及SetPageMargins的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • go連接mysql的項目實踐

    go連接mysql的項目實踐

    本文主要介紹了go連接mysql的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • go中import包的大坑解決方案

    go中import包的大坑解決方案

    最近開始使用Go/GoLand 在import 自定義包時出現(xiàn)各種狀況,本文就介紹一下go中import包的大坑解決方案,具有一定的參考價值,感興趣 可以了解一下
    2022-06-06
  • go build和go install的區(qū)別介紹

    go build和go install的區(qū)別介紹

    這篇文章主要介紹了go build和go install的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • golang判斷文本文件是否是BOM格式的方法詳解

    golang判斷文本文件是否是BOM格式的方法詳解

    在Go語言中,我們可以通過讀取文本文件的前幾個字節(jié)來識別它是否是BOM格式的文件,BOM(Byte Order Mark)是UTF編碼標準中的一部分,用于標示文本文件的編碼順序,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • Redis?BloomFilter布隆過濾器原理與實現(xiàn)

    Redis?BloomFilter布隆過濾器原理與實現(xiàn)

    你在開發(fā)或者面試過程中,有沒有遇到過?海量數(shù)據(jù)需要查重,緩存穿透怎么避免等等這樣的問題呢?下面這個東西超棒,好好了解下,面試過關(guān)斬將,凸顯你的不一樣
    2022-10-10

最新評論

永靖县| 临汾市| 饶阳县| 兴隆县| 东山县| 方正县| 黎城县| 永和县| 崇州市| 调兵山市| 深泽县| 团风县| 资讯 | 阳西县| 洪雅县| 安阳县| 吴江市| 三都| 大同县| 永仁县| 宜州市| 灌南县| 福泉市| 长泰县| 班戈县| 台安县| 来安县| 七台河市| 克什克腾旗| 长治市| 闸北区| 浙江省| 宝坻区| 长治县| 游戏| 佛坪县| 奉节县| 小金县| 台山市| 莎车县| 肥乡县|