欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker部署Go項(xiàng)目發(fā)布鏡像到倉(cāng)庫(kù)

 更新時(shí)間:2023年03月07日 16:39:40   作者:JK凱  
這篇文章主要為大家介紹了Docker部署Go項(xiàng)目發(fā)布鏡像到倉(cāng)庫(kù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

大家都知道Go編譯后是可執(zhí)行的二進(jìn)制文件,一般我們的項(xiàng)目會(huì)部署在Linux中,Docker也是現(xiàn)在常用的部署方案,伸縮擴(kuò)容、遷移都更方便。該篇文章教大家使用Docker來部署go項(xiàng)目,最后把Docker鏡像發(fā)布啊鏡像倉(cāng)庫(kù)(這里使用阿里云鏡像倉(cāng)庫(kù)),公司內(nèi)部一般發(fā)布到公司私有鏡像倉(cāng)庫(kù),方便其他服務(wù)器拉取鏡像部署等。

一、安裝 Docker

linux服務(wù)器使用curl下載快速安裝的shell腳本

curl -fsSL get.docker.com -o get-docker.sh

下載完成后,可以ls命令查看一下。已經(jīng)存在的話,使用sh命令執(zhí)行這個(gè)腳本

sh get-docker.sh

注意如果不是root用戶,需要使用sudo su獲取超級(jí)管理員權(quán)限。

安裝完成后啟動(dòng)一下Docker Server

systemctl start docker

使用docker version命令能看到ClientServer就啟動(dòng)成功了。

二、使用 Docker 部署 Go 項(xiàng)目

這里我使用一個(gè)自己開發(fā)的Gin項(xiàng)目,首先在項(xiàng)目跟目錄下創(chuàng)建一個(gè)Dockerfile文件

寫入以下內(nèi)容:

# 指定基礎(chǔ)的go編譯鏡像
FROM golang:alpine as build
# 指定go的環(huán)境變量
ENV GOPROXY=https://goproxy.cn \
    GO111MODULE=on \
    CGO_ENABLED=0 \
    GOOS=linux \
    GOARCH=amd64
# 指定工作空間目錄,會(huì)自動(dòng)cd到這個(gè)目錄
WORKDIR /build
# 把項(xiàng)目的依賴配置文件拷貝到容器中,并下載依賴
COPY go.mod .
COPY go.sum .
RUN go mod download
# 把項(xiàng)目的其他所有文件拷貝到容器中
COPY . .
# 編譯成可執(zhí)行二進(jìn)制文件
RUN go build -o app .
# 指定新的運(yùn)行環(huán)境,最終的運(yùn)行會(huì)基于這個(gè)壞境,使得最終的鏡像非常小
FROM scratch as deploy
# 把編譯環(huán)境中打包好的可執(zhí)行文件和配置文件拷貝到當(dāng)前鏡像
COPY --from=build /build/app /
COPY --from=build /build/conf ./conf
CMD ["/app"]

在項(xiàng)目根目錄使用以下命令來構(gòu)建鏡像

docker build -t gotodo .

構(gòu)建好后使用docker images來查看我們打包好的鏡像

最終運(yùn)行容器:

docker run -itd -p 7000:7000 gotodo

三、上傳鏡像到鏡像倉(cāng)庫(kù)

把我們構(gòu)建好的鏡像上傳到鏡像倉(cāng)庫(kù),方便我們跨服務(wù)器部署或伸縮容等,這里我使用阿里云個(gè)人免費(fèi)鏡像倉(cāng)庫(kù)演示,公司內(nèi)部一般搭建私有的鏡像倉(cāng)庫(kù)(與阿里云鏡像倉(cāng)庫(kù)同理)。

首先去阿里云申請(qǐng)并創(chuàng)建下個(gè)人免費(fèi)鏡像倉(cāng)庫(kù),具體申請(qǐng)方法可百度等,很簡(jiǎn)單。

創(chuàng)建時(shí)代碼源選擇本地倉(cāng)庫(kù)

創(chuàng)建好后如下:

我們參考3.將鏡像推送到Registry

  • 首先用docker login在本地登錄
  • 再使用docker tag對(duì)我們剛才的鏡像重新打一個(gè)tag

  • 使用docker push把重新打好tag的鏡像上傳到倉(cāng)庫(kù)

上傳完成后可以在阿里云上看到版本等

最后其他服務(wù)器想拉取這個(gè)鏡像也很簡(jiǎn)單,直接

docker pull registry.cn-hangzhou.aliyuncs.com/junkaione/gotodo:v1.0.0

運(yùn)行容器

docker run -itd -p 7000:7000 registry.cn-hangzhou.aliyuncs.com/junkaione/gotodo:v1.0.0

到此,使用 Docker 來部署我們的 Go 項(xiàng)目,及把打包后的鏡像上傳到鏡像倉(cāng)庫(kù)的文章就結(jié)束了,更多關(guān)于Docker部署Go發(fā)布鏡像倉(cāng)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • docker?創(chuàng)建容器時(shí)指定容器ip的實(shí)現(xiàn)示例

    docker?創(chuàng)建容器時(shí)指定容器ip的實(shí)現(xiàn)示例

    在實(shí)際部署中,我們需要指定容器ip,本文主要介紹了docker?創(chuàng)建容器時(shí)指定容器ip,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置

    Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置

    在Docker中,默認(rèn)情況下數(shù)據(jù)存儲(chǔ)路徑為/var/lib/docker,隨著容器和鏡像數(shù)量的增加,這可能會(huì)占用大量磁盤空間,這篇文章主要給大家介紹了關(guān)于Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 詳解如何進(jìn)入、退出docker容器的方法

    詳解如何進(jìn)入、退出docker容器的方法

    這篇文章主要介紹了詳解如何進(jìn)入、退出docker容器的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Mac為docker和kubectl添加自動(dòng)補(bǔ)全命令的方法

    Mac為docker和kubectl添加自動(dòng)補(bǔ)全命令的方法

    很多朋友不太明白如何為docker和kubectl添加自動(dòng)補(bǔ)全命令,本文通過一些示例給大家介紹kubectl基礎(chǔ)概念及語法知識(shí),需要的朋友參考下吧
    2021-06-06
  • 詳解利用ELK搭建Docker容器化應(yīng)用日志中心

    詳解利用ELK搭建Docker容器化應(yīng)用日志中心

    這篇文章主要介紹了詳解利用ELK搭建Docker容器化應(yīng)用日志中心,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • 一文詳解如何獲取docker鏡像中的jar包

    一文詳解如何獲取docker鏡像中的jar包

    本人在工作中遇到了需要在docker查看jar這種操作,查看了許多資料,終于還是找到了,下面這篇文章主要給大家介紹了關(guān)于如何獲取docker鏡像中jar包的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Docker?Windows最新版(4.17.x)修改鏡像存儲(chǔ)路徑的詳細(xì)步驟

    Docker?Windows最新版(4.17.x)修改鏡像存儲(chǔ)路徑的詳細(xì)步驟

    這篇文章主要介紹了Docker?WIndows最新版(4.17.x)修改鏡像存儲(chǔ)路徑的步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟

    在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟

    本文主要介紹了在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • windows宿主機(jī)和docker容器設(shè)置掛載共享文件夾的步驟

    windows宿主機(jī)和docker容器設(shè)置掛載共享文件夾的步驟

    這篇文章主要介紹了windows宿主機(jī)和docker容器設(shè)置掛載共享文件夾的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 通過docker容器搭建lamp架構(gòu)的流程

    通過docker容器搭建lamp架構(gòu)的流程

    這篇文章主要介紹了dcoker容器搭建lamp架構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12

最新評(píng)論