docker 部署 golang 項目

Golang 支持交叉編譯,在一個平臺上生成另一個平臺的可執(zhí)行程序

一、交叉編譯

Windows 下編譯 Linux 64 位可執(zhí)行程序
在項目所在根目錄下執(zhí)行:

  • GOOS:目標(biāo)平臺的操作系統(tǒng)(darwin、freebsd、linux、windows)
set GOOS=linux
  • GOARCH:目標(biāo)平臺的體系架構(gòu)(386、amd64、arm)
set GOARCH=amd64
  • 編譯
go build .

二、打包鏡像

  1. Dockerfile(放在根目錄下)
FROM xxx.com/common/alpine:latest
MAINTAINER FAE Config Server "xxx@xxx.com"
ADD mars /usr/local/bin/
ENTRYPOINT ["/usr/local/bin/mars"]
  • FROM:為后面的指令設(shè)置基礎(chǔ)鏡像。一個有效的Dockerfile文件必須以FROM作為第一條非注釋指令
  • MAINTAINER:設(shè)置生成的鏡像的Author字段
  • ADD:復(fù)制新文件、目錄或遠(yuǎn)程文件URL并添加他們到容器的文件系統(tǒng)路徑
  • ENTRYPOINT:ENTRYPOINT允許配置容器作為可執(zhí)行文件運行
  1. 在跟目錄下進(jìn)入docker環(huán)境
set DOCKER_HOST=tcp://xx.xx.xx.xx:5555
  1. 構(gòu)建鏡像
docker build -t xxx.com/xxx/xxx .

// 查看鏡像是否構(gòu)建成功
docker images
  1. 啟動服務(wù)
docker run -i -d --name=xxx -p 8011:8011 xxx.com/xxx/xxx
  • --name:指定服務(wù)名稱
  • -p:設(shè)置服務(wù)對外暴露端口
  1. 查看服務(wù)是否啟動成功
docker ps -a
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,873評論 15 147
  • 一、概述 Docker is the world’s leading software container pla...
    凜_冬_將_至閱讀 352評論 0 0
  • docker基本概念 1. Image Definition 鏡像 Image 就是一堆只讀層 read-only...
    慢清塵閱讀 9,010評論 1 21
  • 一.不被消費者優(yōu)先選擇的產(chǎn)品不叫品牌,叫商標(biāo). 昨天晚上,陪我爸爸去商場買電視機,比較了大小,質(zhì)量等因素外我們傾向...
    Arvin_xiao閱讀 751評論 0 2
  • 【每日一思】距今為止你認(rèn)為最重要的道理是什么? 人生在世,隨心而活。幸福的方式有很多種,遵循內(nèi)心的聲音。
    柚子粒閱讀 262評論 0 0

友情鏈接更多精彩內(nèi)容