日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame項目部署-容器部署

容器部署即使用?docker?化部署GOlang應(yīng)用程序,這是在云服務(wù)時代最流行的部署方式,也是最推薦的部署方式。

10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有南澗免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

在以下我們的示例中,統(tǒng)一使用 ?main作為項目名稱。

1. 編譯程序

跨平臺交叉編譯是golang的特點之一,可以非常方便地編譯出我們需要的目標(biāo)服務(wù)器平臺的版本,而且是靜態(tài)編譯,非常容易地解決了運行依賴問題。

使用以下指令可以靜態(tài)編譯?Linux?平臺?amd64?架構(gòu)的可執(zhí)行文件:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main main.go

生成的?main?便是我們靜態(tài)編譯的,可部署于?Linux amd64?上的可執(zhí)行文件。

2. 編譯鏡像

我們需要將該可執(zhí)行文件?main?編譯生成?docker?鏡像,以便于分發(fā)及部署。Golang的運行環(huán)境推薦使用?alpine?基礎(chǔ)系統(tǒng)鏡像,編譯出的容器鏡像約為20MB左右。

一個參考的?Dockerfile?文件如下:

FROM loads/alpine:3.8

LABEL maintainer="john@GoFrame.org"

###############################################################################
#                                INSTALLATION
###############################################################################

# 設(shè)置固定的項目路徑
ENV WORKDIR /app/main

# 添加應(yīng)用可執(zhí)行文件,并設(shè)置執(zhí)行權(quán)限
ADD ./main   $WORKDIR/main
RUN chmod +x $WORKDIR/main

# 添加靜態(tài)資源文件
ADD resource $WORKDIR/resource

###############################################################################
#                                   START
###############################################################################
WORKDIR $WORKDIR
CMD ./main

其中,我們的基礎(chǔ)鏡像使用了?loads/alpine:3.8?,中國國內(nèi)的用戶推薦使用該基礎(chǔ)鏡像,基礎(chǔ)鏡像的Dockerfile地址:https://github.com/gqcn/dockerfiles ,倉庫地址:https://hub.docker.com/u/loads

隨后使用 ??docker build -t main? .?指令編譯生成名為?main?的?docker?鏡像。

注意事項

需要注意的是,在某些項目的架構(gòu)設(shè)計中,靜態(tài)文件和配置文件可能不會隨著鏡像進行編譯發(fā)布,而是分開進行管理和發(fā)布。

例如,使用?MVVM?模式的項目中(例如使用vue框架),往往是前后端非常獨立的,因此在鏡像中往往并不會包含?public?目錄。而使用了配置管理中心(例如使用?consul/etcd/zookeeper)的項目中,也往往并不需要?config?目錄。

因此對于以上示例的?Dockerfile?的使用,僅作參考,根據(jù)實際情況請進行必要的調(diào)整。

3. 運行鏡像

使用以下指令可直接運行剛才編譯成的鏡像:

docker run main

4. 鏡像分發(fā)

容器的分發(fā)可以使用docker官方的平臺:https://hub.docker.com/ ,國內(nèi)也可以考慮使用阿里云:https://www.aliyun.com/product/acr

5. 容器編排

在企業(yè)級生產(chǎn)環(huán)境中,?docker?容器往往需要結(jié)合?kubernetes?或者?docker swarm?容器編排工具一起使用。


新聞標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame項目部署-容器部署
分享鏈接:http://www.5511xx.com/article/dhodhcj.html