docker部署go簡單web項目(無mysql等附加功能)

首先準備好go語言代碼

代碼表示當訪問主機上8080端口下的/hello路徑時,會返回hello,world。

package mainimport ("fmt""github.com/gin-gonic/gin"
)type hh struct {S string
}func main() {router := gin.Default()router.GET("/hello", func(c *gin.Context) {c.JSON(200, hh{S: "hello world!"})})err := router.Run(":8080")if err != nil {fmt.Println(err)return}}

準備Dockerfile文件

FROM golang:1.23# 為我們的鏡像設置必要的環境變量
ENV GO111MODULE=on \CGO_ENABLED=0 \GOOS=linux \GOARCH=amd64 \GOPROXY=https://goproxy.io,direct# 移動到工作目錄:/app/demo3
WORKDIR /app/demo3# 先復制 go.mod 和 go.sum 文件
COPY go.mod go.sum ./# 下載依賴
RUN go mod download# 將剩余代碼復制到容器中
COPY . .# 編譯 Go 代碼,指定輸出文件名為 main
RUN go build -o main main.go# 聲明服務端口
EXPOSE 8080# 啟動容器時運行的命令
ENTRYPOINT ["./main"]

注意第一行基礎鏡像的版本要和你項目所用的go版本相同在這里插入圖片描述
在這里插入圖片描述

將以下文件放入宿主機中

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

構建鏡像

首先在宿主機上進入Dockerfile文件所在的目錄,然后輸入以下命令開始構建鏡像 。 注意 -t 后跟的是鏡像名,是自定義的,可以不和我一樣。

docker build -t demo3image .

輸入完成后等待構建成功即可,構建不會很快,我這里等了大概有十多分鐘。
在這里插入圖片描述

創建并運行容器

鏡像前面創建好了,我們現在要讓鏡像在容器里跑起來,輸入下方指令即可。–name 后的demo3表示容器名稱,可以自定義。

docker run -d --name demo3 -p 8080:8080 dem03image

在這里插入圖片描述

添加安全組

我用的服務器是阿里云的,以下是配置阿里云服務器安全組的步驟
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

驗收結果

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896335.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896335.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896335.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OceanBase數據庫實戰:Windows Docker部署與DBeaver無縫對接

一、前言 OceanBase 是一款高性能、高可擴展的分布式數據庫,適用于大規模數據處理和企業級應用。 隨著大數據和云計算的普及,OceanBase 在企業數字化轉型中扮演著重要角色。學習 OceanBase 可以幫助開發者掌握先進的分布式數據庫技術,提升數…

在 HuggingFace 中使用 SSH 進行下載數據集和模型

SSH 是一種 安全通訊的協議,我們通過配置 SSH 的密鑰 來在 Git 上實現 Huggingface 模型的命令行下載。 參考網址:https://huggingface.co/docs/hub/security-git-ssh 點擊自己的頭像,點擊 Add SSH key 在 Windows 上,我們實現已…

.NET Core MVC IHttpActionResult 設置Headers

最近碰到調用我的方法要求返回一個代碼值,但是要求是不放在返回實體里,而是放在返回的Headers上 本來返回我是直接用 return Json(res) 這種封裝的方法特別簡單,但是沒有發現設置headers的地方 查詢過之后不得已換了個返回 //原來方式 //…

Linux-----進程間通信

一、按通信范圍分類 同一主機進程通信 傳統IPC方式: 管道(無名管道、有名管道)信號(Signal) System V IPC: 共享內存(效率最高)消息隊列信號量 POSIX IPC(較新標準&#…

Ant Design按鈕樣式深度適配:實現<Button>與<a>標簽顏色完美同步

Ant Design按鈕樣式深度適配&#xff1a;實現與標簽顏色完美同步 問題現象診斷 組件結構原型 <Button type"link" disabled{disabled}><a href"...">下載</a> </Button>樣式沖突表現 狀態按鈕顏色鏈接顏色視覺問題啟用態Ant藍…

使用Python爬蟲獲取淘寶商品詳情:API返回值說明與案例指南

在電商數據分析和運營中&#xff0c;獲取淘寶商品詳情是常見的需求。淘寶開放平臺提供了豐富的API接口&#xff0c;允許開發者通過合法的方式獲取商品信息。本文將詳細介紹如何使用Python編寫爬蟲&#xff0c;通過淘寶API獲取商品詳情&#xff0c;并解析API返回值的含義和結構。…

并發 -- 無鎖算法與結構

文章目錄 什么是無鎖算法什么是原子變量什么是CAS操作Compare-And-Swap Weak在哪些情況下會失敗舉例說明無鎖結構無鎖結構的問題 什么是無鎖算法 無鎖算法&#xff08;Lock-Free Algorithm&#xff09;是一種并發編程技術&#xff0c;旨在實現多線程環境下的高效數據共享&…

考研/保研復試英語問答題庫(華工建院)

華南理工大學建筑學院保研/考研 英語復試題庫&#xff0c;由華工保研er和學碩筆試第一同學一起整理&#xff0c;覆蓋面廣&#xff0c;助力考研/保研上岸&#xff01;需要&#x1f447;載可到文章末尾見小&#x1f360;。 以下是主要內容&#xff1a; Part0 復試英語的方法論 Pa…

岳陽市美術館預約平臺(小程序論文源碼調試講解)

第4章 系統設計 一個成功設計的系統在內容上必定是豐富的&#xff0c;在系統外觀或系統功能上必定是對用戶友好的。所以為了提升系統的價值&#xff0c;吸引更多的訪問者訪問系統&#xff0c;以及讓來訪用戶可以花費更多時間停留在系統上&#xff0c;則表明該系統設計得比較專…

Python游戲編程之賽車游戲6-3

1 “敵人”汽車類的創建 在創建玩家汽車類之后&#xff0c;接下來創建“敵人”汽車類。“敵人”汽車類與玩家類一樣&#xff0c;也是包含兩個方法&#xff0c;一個是__init__()&#xff0c;另一個是move()。 1.1 __init__()方法 “敵人”汽車類的__init__()方法代碼如圖1所示…

TCP/UDP調試工具推薦:Socket通信圖解教程

TCP/UDP調試工具推薦&#xff1a;Socket通信圖解教程 一、引言二、串口調試流程三、下載鏈接 SocketTool 調試助手是一款旨在協助程序員和網絡管理員進行TCP和UDP協議調試的網絡通信工具。TCP作為一種面向連接、可靠的協議&#xff0c;具有諸如連接管理、數據分片與重組、流量和…

神經網絡 - 神經元

人工神經元(Artificial Neuron)&#xff0c;簡稱神經元(Neuron)&#xff0c;是構成神經網絡的基本單元&#xff0c;其主要是模擬生物神經元的結構和特性&#xff0c;接收一組輸入信號并產生輸出。 生物學家在 20 世紀初就發現了生物神經元的結構。一個生物神經元通常具有多個樹…

藍橋杯備考:貪心算法之矩陣消除游戲

這道題是牛客上的一道題&#xff0c;它呢和我們之前的排座位游戲非常之相似&#xff0c;但是&#xff0c;排座位問題選擇行和列是不會改變元素的值的&#xff0c;這道題呢每每選一行都會把這行或者這列清零&#xff0c;所以我們的策略就是先用二進制把選擇所有行的情況全部枚舉…

DeepSeek系統架構的逐層分類拆解分析,從底層基礎設施到用戶端分發全鏈路

一、底層基礎設施層 1. 硬件服務器集群 算力單元&#xff1a; GPU集群&#xff1a;基于NVIDIA H800/H100 GPU構建&#xff0c;單集群規模超10,000卡&#xff0c;采用NVLink全互聯架構實現低延遲通信。國產化支持&#xff1a;適配海光DCU、寒武紀MLU等國產芯片&#xff0c;通過…

ktransformers 上的 DeepSeek-R1 671B open-webui

ktransformers 上的 DeepSeek-R1 671B open-webui 一、下載GGUF模型1. 創建目錄2. 魔塔下載 DeepSeek-R1-Q4_K_M3. 安裝顯卡驅動和cuda4. 顯卡 NVIDIA GeForce RTX 4090 二、安裝ktransformers1. 安裝依賴2. 安裝uv工具鏈3. 下載源碼4. 創建python虛擬環境 三、編譯ktransforme…

smolagents學習筆記系列(五)Tools-in-depth-guide

這篇文章鎖定官網教程中的 Tools-in-depth-guide 章節&#xff0c;主要介紹了如何詳細構造自己的Tools&#xff0c;在之前的博文 smolagents學習筆記系列&#xff08;二&#xff09;Agents - Guided tour 中我初步介紹了下如何將一個函數或一個類聲明成 smolagents 的工具&…

形式化數學編程在AI醫療中的探索路徑分析

一、引言 1.1 研究背景與意義 在數字化時代,形式化數學編程和 AI 形式化醫療作為前沿領域,正逐漸改變著我們的生活和醫療模式。形式化數學編程是一種運用數學邏輯和嚴格的形式化語言來描述和驗證程序的技術,它通過數學的精確性和邏輯性,確保程序的正確性和可靠性。在軟件…

C#初級教程(3)——變量與表達式:從基礎到實踐

一、為什么使用變量 計算機程序本質上是對數據的操作&#xff0c;數字、文字、圖片等在計算機中都屬于數據。而變量&#xff0c;就是數據在計算機內存中的 “棲息地”。我們可以把變量想象成一個個小盒子&#xff0c;這些盒子能存放各種數據&#xff0c;需要時還能隨時取出。 二…

【深度學習神經網絡學習筆記(三)】向量化編程

向量化編程 向量化編程前言1、向量化編程2、向量化優勢3、正向傳播和反向傳播 向量化編程 前言 向量化編程是一種利用專門的指令集或并行算法來提高數據處理效率的技術&#xff0c;尤其在科學計算、數據分析和機器學習領域中非常常見。它允許通過一次操作處理整個數組或矩陣的…

海康威視攝像頭RTSP使用nginx推流到服務器直播教程

思路&#xff1a; 之前2020年在本科的時候&#xff0c;由于項目的需求需要將海康威視的攝像頭使用推流服務器到網頁進行直播。這里將自己半個月琢磨出來的步驟給大家發一些。切勿轉載&#xff01;&#xff01;&#xff01;&#xff01; 使用網絡攝像頭中的rtsp協議---------通…