国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

我的Go服務(wù)Docker部署模版

xorpay / 2309人閱讀

摘要:關(guān)于網(wǎng)上關(guān)于的介紹有很多,我就不復(fù)制粘貼了,大家可以自行查找。上面說(shuō)的都是單個(gè)服務(wù)的情況,實(shí)際開發(fā)中我們可能用到微服務(wù),那么服務(wù)就不止一個(gè)了,官方是建議一個(gè)服務(wù)跑一個(gè)容器,這樣我們就需要用到管理多個(gè)服務(wù)。

關(guān)于Docker

網(wǎng)上關(guān)于Docker的介紹有很多,我就不復(fù)制粘貼了,大家可以自行查找。為什么用Docker?,一般來(lái)說(shuō)是為了保證開發(fā)和線上環(huán)境一致,并能保證機(jī)器的干凈,不會(huì)被安裝一堆依賴。說(shuō)下題外話,之前開發(fā)EOS的時(shí)候,就被裝了一堆依賴和動(dòng)態(tài)庫(kù),差點(diǎn)讓強(qiáng)迫癥的我想重裝電腦...后來(lái)寫了個(gè)docker鏡像才算是整理干凈,可惜被改過(guò)的文件是沒(méi)辦法還原了。

Build一個(gè)最小的Go應(yīng)用鏡像

官方建議是用alpine鏡像,在實(shí)際使用過(guò)程中,發(fā)現(xiàn)還是會(huì)缺一些東西,下面是補(bǔ)充之后的新鏡像

FROM alpine:latest # 官方推薦鏡像大小才5M

RUN apk update 
    && apk upgrade                         # 更新源和應(yīng)用
    && apk --no-cache add tzdata           # 只要go里面用到time的包,那就必裝
    && apk --no-cache add openssl          # 如果用到rsa加密解密,也需要裝
    && apk --no-cache add ca-certificates  # ca證書,這個(gè)也是必裝的
    && rm -rf /var/cache/apk/              # 清除安裝包
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   
    && echo "Asia/Shanghai" > /etc/timezone # 這個(gè)是設(shè)置默認(rèn)時(shí)區(qū)

WORKDIR /mnt/work # 最后設(shè)定一個(gè)工作目錄,這個(gè)可以自己定

打包出這個(gè)鏡像并命名go-alpine:

$ docker build -t go-alpine .

上面的鏡像build完才9M左右,我沒(méi)有把go編譯好的服務(wù)加進(jìn)去,這是有原因的,下面會(huì)講到。

Before Docker Run

在實(shí)際開發(fā)過(guò)程中,我們會(huì)經(jīng)常編譯go的服務(wù)然后運(yùn)行,難道每次編譯都要重新Build一個(gè)鏡像?當(dāng)然不,下面是啟動(dòng)前的準(zhǔn)備:

$ mkdir -p /mnt/work/service
$ docker volume create --driver local 
            --opt type=none 
            --opt device=/mnt/work/service 
            --opt o=bind 
            --name=service-data-volume

創(chuàng)建了一個(gè)放服務(wù)的目錄并為它創(chuàng)建一個(gè)volume

Docker Run

把編譯出來(lái)的go服務(wù)放入volume里面,然后讓docker啟動(dòng)的時(shí)候加載這個(gè)volume,并運(yùn)行目錄內(nèi)的服務(wù):

$ docker run -d -v service-data-volume:/mnt/work 
    --name local_service 
    -p 8000:8000 
    go-aplpine ./go_service

這樣每次更新都只需要替換volume內(nèi)的服務(wù),而不需要重新打包鏡像了。

Docker-compose

上面說(shuō)的都是單個(gè)服務(wù)的情況,實(shí)際開發(fā)中我們可能用到微服務(wù),那么服務(wù)就不止一個(gè)了,官方是建議一個(gè)服務(wù)跑一個(gè)docker容器,這樣我們就需要用到docker-compose管理多個(gè)服務(wù)。
原理是差不多的,因?yàn)閼校疑蟼鞯絞ithub了,大家都是程序員,我就不多說(shuō)了,用代碼交流吧,哈哈哈。
go_docker

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/27599.html

相關(guān)文章

  • 進(jìn)軍Docker 1.12,將代理與Swarm完美整合

    摘要:其一將用于代理與面向公開的服務(wù)之間的通信。數(shù)據(jù)庫(kù)上線并開始運(yùn)行后,我們接下來(lái)部署后端。現(xiàn)在,會(huì)幫助我們完成全部負(fù)載均衡工作。這樣所有來(lái)自代理的請(qǐng)求都將指向網(wǎng)絡(luò),并由后者跨越全部實(shí)例執(zhí)行負(fù)載均衡。 七夕大家過(guò)得怎么樣?今天數(shù)人云帶大家回歸技術(shù)和干貨。雖然我們能夠在Swarm集群當(dāng)中部署任意數(shù)量的服務(wù),但這并不代表各項(xiàng)服務(wù)全部可為用戶所訪問(wèn)。而新的Swarm網(wǎng)絡(luò)使得各項(xiàng)服務(wù)之間能夠更為輕松...

    cartoon 評(píng)論0 收藏0
  • 前端需要了解的 Docker 與 Kubernetes 知識(shí)

    摘要:打開終端執(zhí)行,再開一個(gè)終端輸入輸出,則表示該服務(wù)沒(méi)有問(wèn)題。將服務(wù)打包成鏡像,然后將鏡像實(shí)例化并運(yùn)行,方便部署。此處以我的賬號(hào)為例,需要推送到你自己的賬號(hào)。是一種自動(dòng)化運(yùn)維工具,本文主要需要了解,,三個(gè)概念。至此成功使用部署應(yīng)用。 本文將以一個(gè)簡(jiǎn)單的示例演示如何使用 Docker 與 Kubernetes 部署應(yīng)用上線。 Http Service 首先使用 Go 語(yǔ)言搭建一個(gè)簡(jiǎn)單的 Ht...

    ChristmasBoy 評(píng)論0 收藏0
  • 前端需要了解的 Docker 與 Kubernetes 知識(shí)

    摘要:打開終端執(zhí)行,再開一個(gè)終端輸入輸出,則表示該服務(wù)沒(méi)有問(wèn)題。將服務(wù)打包成鏡像,然后將鏡像實(shí)例化并運(yùn)行,方便部署。此處以我的賬號(hào)為例,需要推送到你自己的賬號(hào)。是一種自動(dòng)化運(yùn)維工具,本文主要需要了解,,三個(gè)概念。至此成功使用部署應(yīng)用。 本文將以一個(gè)簡(jiǎn)單的示例演示如何使用 Docker 與 Kubernetes 部署應(yīng)用上線。 Http Service 首先使用 Go 語(yǔ)言搭建一個(gè)簡(jiǎn)單的 Ht...

    孫吉亮 評(píng)論0 收藏0
  • 如何用 Ansible 部署 Kubernetes 集群到 OpenStack

    摘要:測(cè)試后,使用來(lái)發(fā)布。部署軟件組件,啟動(dòng)虛擬機(jī),將虛擬機(jī)分類到和節(jié)點(diǎn),然后部署密鑰清單。集群自動(dòng)化集群配置由三個(gè)控制。自簽證書簽署的服務(wù)器端證書和它的密鑰文件。 我們之前聊了把OpenStack跑在K8S上,如何基于Kubernetes在TCP云端創(chuàng)建私有云解決方法,運(yùn)用在生產(chǎn)或在OpenStack啟動(dòng)虛擬化。今天換個(gè)姿勢(shì),我們來(lái)看看如何在OpenStack虛擬機(jī)上運(yùn)行Kubernete...

    jiekechoo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<