国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker 生成 golang 程序鏡像

這篇具有很好參考價值的文章主要介紹了Docker 生成 golang 程序鏡像。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一. 準(zhǔn)備golang程序

package main

import "github.com/gin-gonic/gin"

func main() {
	go func() {
		r1 := gin.Default()
		r1.GET("/sayHello/", func(c *gin.Context) {
			c.JSON(200, "hello1")
		})
		r1.Run(":8992")
	}()

	r := gin.Default()
	r.GET("/sayHello/", func(c *gin.Context) {
		c.JSON(200, "hello")
	})
	r.Run(":8991")
}

二. 下載docker鏡像

默認(rèn)已經(jīng)安裝好docker

docker pull centos

三. 編譯二進制文件

我這里使用makefile

makefile文件如下

#!/bin/bash
export LANG=zh_CN.UTF-8

ENVARG=GOPATH=$(CURDIR) GO111MODULE=on
LINUXARG=CGO_ENABLED=1 GOOS=linux GOARCH=amd64
BUILDARG=-ldflags " -s -X main.buildTime=`date '+%Y-%m-%dT%H:%M:%S'` -X main.gitHash=(`git symbolic-ref --short -q HEAD`)`git rev-parse HEAD`"

gateway:
	cd src; ${ENVARG} go build ${BUILDARG} -o ./projects/docker_demo/main ./projects/docker_demo/main.go;

linux_gateway:
	cd src; ${ENVARG} ${LINUXARG} go build ${BUILDARG} -o ./projects/docker_demo/main ./projects/docker_demo/main.go;

執(zhí)行編譯linux二進制

make linux_gateway

報錯

Docker 生成 golang 程序鏡像

查找原因網(wǎng)上說是因為os本身系統(tǒng)庫不兼容的問題,首先因為我是在macos上編譯linux的版本,所以需要安裝:

brew install FiloSottile/musl-cross/musl-cross

同樣參數(shù)要調(diào)整

CGO_ENABLED=1 GOOS=linux  GOARCH=amd64  CC=x86_64-linux-musl-gcc  CXX=x86_64-linux-musl-g++

我這里看到應(yīng)該是cgo報的錯,我們這里是簡單的示例,沒用用到cgo,所以把CGO_ENABLED設(shè)置為0,就可以編譯通過

CGO_ENABLED=0

?CGO_ENABLED?環(huán)境變量對我們程序的影響。?CGO_ENABLED是用來控制golang 編譯期間是否支持調(diào)用 cgo 命令的開關(guān),其值為1或0,默認(rèn)情況下值為1,可以用?go env?查看默認(rèn)值。

四. 編寫Dockerfile文件

# 指定基礎(chǔ)鏡像
FROM centos:latest
LABEL authors="docker-test"

# 設(shè)置工作目錄
WORKDIR /app/gateway

# 復(fù)制當(dāng)前目錄下的所有文件到工作目錄
COPY . .

# 聲明容器運行時需要暴露的端口
EXPOSE 8991 8992

# 定參
ENTRYPOINT ["./main"]

五. 構(gòu)建鏡像

docker build -t my-golang-app .

Docker 生成 golang 程序鏡像

docker images | grep my-golang-app

#my-golang-app                   latest    dfd4bab9dabd   About a minute ago   239MB

運行鏡像

docker run -idt -p 8991:8991 -p 8992:8992 my-golang-app

#630728cd4ef04d4fc2ee94a986eaaed281d60bd74922126d4f345d12ed941c5f

docker ps

#CONTAINER ID   IMAGE           COMMAND    CREATED          STATUS          PORTS                              NAMES
#630728cd4ef0   my-golang-app   "./main"   10 seconds ago   Up 10 seconds   0.0.0.0:8991-8992->8991-8992/tcp   charming_yonath

可以看到已經(jīng)運行起來

六.? 請求服務(wù)接口

Docker 生成 golang 程序鏡像

Docker 生成 golang 程序鏡像?可以看到已經(jīng)通了

七. 推送images到docker hub

7.1 docker打tag

docker tag my-golang-app:latest 你的賬號/my-golang-app:latest

7.2 推送到docker hub

docker push pengdylan7/my-golang-app:latest

docker push 你的賬號/my-golang-app:latest

docker客戶端里可以看到推送成功

Docker 生成 golang 程序鏡像文章來源地址http://www.zghlxwxcb.cn/news/detail-486229.html

到了這里,關(guān)于Docker 生成 golang 程序鏡像的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SpringBoot項目docker鏡像生成

    SpringBoot項目docker鏡像生成

    拉取基礎(chǔ)鏡像 基于鏡像創(chuàng)建容器 在容器中,安裝所需依賴 部署腳本 提交容器,生成新的鏡像 編寫Dockerfile,添加啟動命令,生成最終鏡像 導(dǎo)出鏡像 參數(shù)如下: FROM 依賴鏡像 WORKDIR 當(dāng)前文件夾 COPY 拷貝,將文件拷貝到容器中 CMD 容器啟動后執(zhí)行的初始化命令 EXPOSE 暴露端口

    2024年01月24日
    瀏覽(13)
  • 使用docker 生成鏡像,并啟動容器。

    指令詳情: 指令 解析 FROM 指定基礎(chǔ)鏡像,必須為第一個命令 MAINTAINER 維護者郵箱等信息 RUN 構(gòu)建鏡像docker build時執(zhí)行的命令 ADD 將本地文件添加到容器中,tar 類型文件會自動解壓 COPY 功能類似ADD,但是是不會自動解壓文件,也不能訪問網(wǎng)絡(luò)資源 CMD 在docker run時會執(zhí)行的命令,

    2024年02月16日
    瀏覽(25)
  • docker 生成鏡像的幾個問題

    docker 生成鏡像的幾個問題

    首選做準(zhǔn)備工作 ① 新建一個空的目錄(以jdktemp為例),然后在目錄中新建一個文件,命名為Dockerfile ② 拷貝課前資料提供的 jdk8.tar.gz 到這個目錄中 ③ 編寫Dockerfile文件: a )基于java:8-alpine作為基礎(chǔ)鏡像 b )將app.jar拷貝到鏡像中 c )暴露端口 d )編寫入口ENTRYPOINT ④ 使用

    2024年02月09日
    瀏覽(22)
  • AIGC:生成簡單的Golang語言程序

    【問1】:編寫一個golang程序,在屏幕上顯示: Programming is fun! And Programming in C is even more fun! 【答1】:可以用如下的代碼實現(xiàn): 輸出結(jié)果為: 【問2】:編寫一個golang程序,求華氏溫度 100°F 對應(yīng)的攝氏溫度。攝氏溫度 c=5*(f-32)/9,其中f表示華氏溫度。 【答2】:以下是實現(xiàn)代碼

    2024年02月09日
    瀏覽(21)
  • 讓golang程序生成coredump文件并進行調(diào)試

    讓golang程序生成coredump文件并進行調(diào)試

    今天講講怎么讓golang程序生成coredump文件,并且進行調(diào)試的。 別看我寫了不少golang的博客,其實我平時寫c++的時間更多,所以也算和coredump是老相識了。 core dump 文件實際上是進程在某個時間點時的內(nèi)存映像,當(dāng)時進程使用的內(nèi)存是啥樣就會被原樣保存下來存在文件系統(tǒng)的某個

    2024年02月12日
    瀏覽(17)
  • Maven生成和推送Docker鏡像到Docker倉庫( IDEA 親測可用)

    Maven生成和推送Docker鏡像到Docker倉庫( IDEA 親測可用)

    目錄 1.搭建私有Docker鏡像倉庫 1.搭建docker registry 2.搭建docker registry web UI: 2.Maven創(chuàng)建并上傳Docker鏡像: 1.允許docker被遠程訪問 2.重啟docker服務(wù) 3.構(gòu)建和上傳Docker鏡像(不適用IDEA) 4.構(gòu)建并上傳Docker鏡像(適用IDEA) 1.搭建docker registry 參考文檔:docker-registry私有鏡像庫搭建并配置

    2023年04月08日
    瀏覽(19)
  • 改造 ChatGPT-Next-Web 項目重新生成 Docker 鏡像

    需要通過 ChatGPT-Next-Web 使用自己搭建的 OpenAI API 兼容的服務(wù)器,需要對 ChatGPT-Next-Web 項目的少量代碼進行改造。 克隆代碼, 修改代碼, 完結(jié)!

    2024年02月14日
    瀏覽(23)
  • 麒麟V10 ARM 離線生成RabbitMQ docker鏡像并上傳Harbor私有倉庫

    麒麟V10 ARM 離線生成RabbitMQ docker鏡像并上傳Harbor私有倉庫

    第一步在外網(wǎng)主機執(zhí)行: docker pull arm 64 v 8 / rabbitmq: 3.8.9 -management 將下載的鏡像打包給離線主機集群使用 在指定目錄下執(zhí)行打包命令: 執(zhí)行: ?docker save -o rabbitmq_arm3.8.9.tar arm64v8/rabbitmq:3.8.9-management 如果懶得打包給你飛機票下載鏡像包:https://download.csdn.net/download/jiejiegua/88

    2024年02月03日
    瀏覽(24)
  • 【go語言開發(fā)】go項目打包成Docker鏡像,包括Dockerfile命令介紹、goctl工具生成

    【go語言開發(fā)】go項目打包成Docker鏡像,包括Dockerfile命令介紹、goctl工具生成

    本文主要介紹如何將go項目打包成鏡像,首先介紹Dockerfile常用命令介紹,然后介紹使用工具goctl用于生成Dockerfile,還可以根據(jù)需求自定義指令內(nèi)容,最后講解如何將go-blog項目打包成鏡像,以及如何運行等 參考文檔: docker日常使用,編寫dockerfile等 dockerfile編寫 開發(fā)完項目之后

    2024年01月20日
    瀏覽(19)
  • 【CI/CD技術(shù)專題】「Docker實戰(zhàn)系列」本地進行生成鏡像以及標(biāo)簽Tag推送到DockerHub

    【CI/CD技術(shù)專題】「Docker實戰(zhàn)系列」本地進行生成鏡像以及標(biāo)簽Tag推送到DockerHub

    背景介紹 Docker鏡像構(gòu)建成功后,只要有docker環(huán)境就可以使用,但必須將鏡像推送到Docker Hub上去。創(chuàng)建的鏡像最好要符合Docker Hub的tag要求,因為在Docker Hub注冊的用戶名是liboware,最后利用docker push命令推送鏡像到公共倉庫。 前提概要 你需要在Docker hub注冊用戶:到官網(wǎng)注冊賬

    2024年02月10日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包