使用docker部署golang編譯環(huán)境全過程
不想在windows上安裝環(huán)境,打算docker部署,一拉一運(yùn)行很方便,要注意的就是,官方的鏡像跑起來后要改些參數(shù)再導(dǎo)成鏡像(否則重啟后改動(dòng)消失),所以多一步。
1.拉取鏡像 && 運(yùn)行鏡像
docker pull golang docker run -it golang /bin/bash
2.進(jìn)入容器修改配置文件
GOPATH:go工作目錄,也是以后代碼存放的地方GOPROXY:go包下載代理地址,為了下載包快速所改GO111MODULE:允許go mod 包管理工具的使用
go env #判斷能否正常運(yùn)行 #自定義設(shè)置 go env -w GO111MODULE=on #開啟go mod go env -w GOPROXY="https://goproxy.cn" go env -w GOPATH="/go" #如果本身就是,那就不需要再改了,可以省略
3.將容器導(dǎo)出為鏡像 && 停用運(yùn)行原容器
docker commit container_name golang-my #容器導(dǎo)出成鏡像 docker stop container_name docker rm container_name
4.運(yùn)行剛導(dǎo)出的鏡像
-p端口映射-v目錄映射,左側(cè)為宿主機(jī),右側(cè)為容器內(nèi)
docker run -itd -p 8081:8081 -v /home/www/golang:/go --name golang golang-my
5.宿主機(jī)新建 /home/www/golang/main.go文件
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, world")
}
6.進(jìn)入容器內(nèi) && 運(yùn)行
docker exec -it golang-my /binbash #進(jìn)入容器 cd /go #切換到工作目錄 go run main.go # 運(yùn)行
命令行輸出Hello, world就ok了,第一次會(huì)慢,后面就好了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker容器資源限制與容器內(nèi)的dotnet應(yīng)用線程限制
文章指出因docker-compose資源限制配置錯(cuò)誤(如誤將cpu設(shè)為0.5導(dǎo)致線程過多),引發(fā)redis超時(shí)問題,同時(shí)微服務(wù)中大key、熱key等不合理操作加劇redis性能瓶頸,需優(yōu)化代碼和容器參數(shù)設(shè)置2025-09-09
詳解如何在 Docker 中設(shè)置 Go 并部署應(yīng)用
在本教程中,我們將學(xué)習(xí)如何使用 docker 部署 golang web 應(yīng)用程序。 具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
Rancher+Docker+SpringBoot實(shí)現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控
Rancher?是一套容器管理平臺(tái),可以在生產(chǎn)環(huán)境中快捷的部署和管理容器,方便的對(duì)容器進(jìn)行cpu內(nèi)存環(huán)境監(jiān)控、日志監(jiān)控、擴(kuò)容縮容,自動(dòng)重啟,這篇文章主要介紹了Rancher+Docker+SpringBoot實(shí)現(xiàn)微服務(wù)部署、擴(kuò)容、環(huán)境監(jiān)控,需要的朋友可以參考下2022-04-04
滾動(dòng) docker 中的 nginx 日志思路詳解
Nginx 自己沒有處理日志的滾動(dòng)問題,本文筆者介紹如何滾動(dòng)運(yùn)行在 docker 中的 nginx 日志文件,感興趣的朋友一起看看吧2018-08-08

