理解Docker
Docker可以幫您為自己的應(yīng)用程序創(chuàng)建一個(gè)單一的可部署“單位”。這樣的單位也叫做容器,其中包含了應(yīng)用程序需要的一切。例如代碼(或二進(jìn)制文件)、運(yùn)行時(shí)、系統(tǒng)工具,以及系統(tǒng)庫文件。將所有這些需要的內(nèi)容打包為一個(gè)單一的單位,可確保無論將應(yīng)用程序部署在何處,都能提供完全相同的環(huán)境。這種技術(shù)還可以幫您維持完全一致的開發(fā)和生產(chǎn)環(huán)境,通常這些環(huán)境是很難被追蹤的。
一旦搭建完成,容器的創(chuàng)建和部署將可自動進(jìn)行。這本身就可以避免一系列問題。這些問題中大部分都是因?yàn)槲募煌?,或開發(fā)和生產(chǎn)環(huán)境之間的差異導(dǎo)致的。Docker可以解決這些問題。
在開發(fā)過程中使用Docker所獲得的收益
在開發(fā)工作中使用Docker可以獲得的部分收益包括:
Golang 支持交叉編譯,在一個(gè)平臺上生成另一個(gè)平臺的可執(zhí)行程序
一、交叉編譯
Windows 下編譯 Linux 64 位可執(zhí)行程序
在項(xiàng)目所在根目錄下執(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 .
二、打包鏡像
Dockerfile(放在根目錄下)
FROM hub.skyinno.com/common/alpine:latest MAINTAINER FAE Config Server "fae@fiberhome.com" ADD mars /usr/local/bin/ ENTRYPOINT ["/usr/local/bin/mars"]
在跟目錄下進(jìn)入docker環(huán)境
set DOCKER_HOST=tcp://10.110.200.29:5555
構(gòu)建鏡像
docker build -t hub.skyinno.com/fcae/mars . // 查看鏡像是否構(gòu)建成功 docker images
啟動服務(wù)
docker run -i -d --name=mars -p 8011:8011 hub.skyinno.com/fcae/mars
查看服務(wù)是否啟動成功
docker ps -a
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
標(biāo)簽:昭通 滄州 阿壩 瀘州 泰安 東營 晉中 駐馬店
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker中部署golang項(xiàng)目的步驟詳解》,本文關(guān)鍵詞 docker,中,部署,golang,項(xiàng),目的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。