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

2021-09-22 17:31:53 字數 1129 閱讀 2833

公司最近開發了乙個專案是用golang 寫的,現在要部署到線上環境去,又不想在伺服器上裝單獨的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 檔案,因為每次啟動的時候,它才去編譯,可能啟個服務,需要幾秒鐘的時間,我們寫的大概編譯再啟動需要10秒左右的時間

最後啟用docker

#!/usr/bin/env

bash

docker stop apihdtest

docker

rmapihdtest

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

然後這個就啟起來了

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

僅參考.

利用Docker構建Cassandra集群

vm記憶體 8g 利用docker構建三節點兩資料中心的cassandra集群 1 拉取映象 docker pull cassandra2 建立第乙個節點 docker run name cas1 p 9042 9042 e cassandra cluster name mycluster e ca...

利用構建快取機制縮短Docker映象構建時間

在使用docker部署php或者node.js應用時,常用的方法是將 和環境映象打包成乙個映象然後執行,一些雲廠商提供了非常便捷的操作,只需要把我們的 提交到vcs上,然後它們就會幫我們拉取 並根據 包內的dockerfile構建我們的映象然後部署到集群裡。php和node.js都有非常不錯的生態,...

利用構建快取機制縮短Docker映象構建時間

在使用docker部署php或者node.js應用時,常用的方法是將 和環境映象打包成乙個映象然後執行,一些雲廠商提供了非常便捷的操作,只需要把我們的 提交到vcs上,然後它們就會幫我們拉取 並根據 包內的dockerfile構建我們的映象然後部署到集群裡。php和node.js都有非常不錯的生態,...