項目采用gopath來管理的引用庫,但有小伙伴反應說包不好下,雖然我把對應的包做了百度云盤共享,但小伙伴們仍然感覺不太好用。特別是最近把go SDK升級到1.18.在管理包上終于下決心使用mod來重新重構下包管理。
一、配置啟用Mod
首先那:
go env
確定是否開啟了
GO111MODULE="auto"
如果沒有開啟請開啟它。開啟命令執行:
go env -w GO111MODULE=on
#設置 使用七牛云下載
go env -w GOPROXY=https://goproxy.cn,direct
來看下現在的配置:
root@ubuntu:~/myGoProjectNew# go env
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/hcy/.cache/go-build"
GOENV="/home/hcy/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/home/hcy/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/hcy/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/hcy/myGoProjectNew/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3990583068=/tmp/go-build -gno-record-gcc-switches"
二、創建項目
上邊都說了如何開啟了。下面介紹下如何使用
1. 可以隨便找一個目錄創建項目:myGoProjectNew
mkdir myGoProjectNew
cd myGoProjectNew
go mod init myGoProjectNew
這個時候查看目錄下會多出一個go.mod的文件:
里面也有了。標識了下SDK的版本1.18
2. 創建 main.go文件
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r :=gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}
3. 執行:
go mod tidy
這時候就會自動下載引用了。
查看Go.mod文件
module myGoProjectNew
go 1.18
require github.com/gin-gonic/gin v1.7.4
require github.com/go-ini/ini v1.66.4
require (
github.com/astaxie/beego v1.12.3
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/gin-contrib/cors v1.3.0
go.mongodb.org/mongo-driver v1.8.4
)
最后放兩張效果圖:
感覺還可以得點贊收藏哦。想要源碼的私信我獲取源碼。
Docker 是一種開源的容器化平臺,用于構建、發布和運行應用程序。
它可以將應用程序及其依賴項打包到一個獨立的、可移植的容器中,從而實現了應用程序在不同環境中的一致性和可移植性。
如果本地搭建 docker,我們開發人員就可以快速構建、部署和擴展應用程序了,而無需擔心環境差異或依賴項沖突的問題。
硬件:
安裝 Docker Desktop 需要啟用 Hyper-V 和 Windows 容器功能。
【控制面板】-> 【所有控制面板項】-> 【程序和功能】
打開【啟用或關閉 Windows 功能】窗口,勾選:
安裝完成需要重啟才會生效,先不重啟,稍后再重啟。
docker 官網 windows 版下載地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows
下載完成后是一個exe文件【Docker for Windows Installer.exe】
雙擊安裝文件進行安裝,等待一小段時間,安裝完成后會出現下面的窗口:
這時候點擊【close and log out】會重啟電腦。
啟動【Docker for Windows】,啟動命令窗口,輸入命令【docker version】可查看 docker 版本,如:
1.以管理員身份啟動命令窗口,輸入命令【docker search mssql】:
2.輸入命令【docker pull microsoft/mssql-server-linux】下載鏡像:
3.創建并運行容器
輸入命令【docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Password01!" -p 1445:1433 --name MSSQL_loan -d microsoft/mssql-server-linux】
4.登錄容器
輸入命令【docker exec -it MSSQL_loan /bin/bash】:
5.連接到 sqlcmd
輸入命令【/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Password01!'】:
6.創建數據庫并進行測試
輸入命令【CREATE DATABASE TestDB】創建一個數據庫:
1> CREATE DATABASE TestDB
2> go
輸入命令【select name,database_id,create_date from sys.Databases】查看已存在的數據庫:
7.使用客戶端 mssms 連接創建的 sqlserver
服務器名稱就是你的本地【IP,端口】,如本次前面設置的是1445,
1.在容器內創建一個目錄
如果是繼續上面的步驟,則先退出【quit】到容器管理中:
如果沒有登錄容器,則先登錄容器【docker exec -it MSSQL_loan /bin/bash】。
使用命令【mkdir /var/opt/mssql/backup】創建一個目錄,然后再退出容器:
3.將數據庫備份文件(.bak文件)復制到容器中
使用命令【docker cp E:/job/techTest/docker/sqlserver/Loan.bak MSSQL_loan:/var/opt/mssql/backup】進行復制:
4.還原數據庫
先登錄容器【docker exec -it MSSQL_loan /bin/bash】,列出備份數據文件的邏輯名,使用命令【/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Password01!' -Q 'RESTORE FILELISTONLY FROM DISK="/var/opt/mssql/backup/Loan.bak"' | tr -s ' ' | cut -d ' ' -f 1-2】:
還原數據庫,使用命令【/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Password01!' -Q 'RESTORE DATABASE Loan FROM DISK="/var/opt/mssql/backup/Loan.bak" WITH MOVE "Loan" TO "/var/opt/mssql/data/Loan.mdf" , MOVE "Loan_log" TO "/var/opt/mssql/data/Loan.ldf"'】:
注:個人不是很推薦在windows中安裝 docker,日常使用 docker 還是建議安裝在 linux 上的,當然沒有 Linux 服務器的情況下,windows 安裝 docker 也是不錯的選擇。