公司最近開發了乙個專案是用golang 寫的,現在要部署到線上環境去,又不想在伺服器上裝單獨的golang,決定用docker 封裝下,直接打到映象裡面,然後就直接在hub.docker.com上面搜了下golang的映象,直接就docker pull golang 最新的是1.9的版本
然後參考官方的文件弄了下dockerfile大概是這樣:
frombuild.sh裡面的**是這樣,大概就是進入目錄,編譯golang ,最後執行編譯好的server 檔案golang
maintainer
jackluo
#指定工作目錄
workdir
/go/src/activitapi
copy
. .cmd ["/bin/bash", "build.sh"]
#!/usr/bin/env其實可以直接執行編譯好的.server 檔案,因為每次啟動的時候,它才去編譯,可能啟個服務,需要幾秒鐘的時間,我們寫的大概編譯再啟動需要10秒左右的時間bash
cd /go/src/activitapi/server && go build && ./server
最後啟用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都有非常不錯的生態,...