一次golang應用的docker部署經歷


開發平台win10,服務器centos7.5

編寫dockerfile 

# scratch 為空鏡像,因為golang的build的可執行文件不需要什么環境
FROM scratch
# 作者署名
MAINTAINER liusiming <liusm1111@outlook.com>
# 添加一個證書,要不然websocket連接會報錯 dial:x509: certificate signed by unknown authority,下載地址:https://curl.haxx.se/ca/cacert.pem
ADD cacert.pem /etc/ssl/certs/
# 可執行文件
ADD ticker-server /
#配置文件
ADD config.toml /
# 運行
CMD ["/application"]

寫一個build.bat文件,很方便

@echo off
:: 編譯linux可執行文件
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build -o application main.go
:: build鏡像並指定一個版本
docker build -t username/repository:%1 .
:: 上傳到你的dockerhub 倉庫(需要梯子)
docker push username/repository:%1
pause

運行build.bat 0.0.1即可

最后是服務下載鏡像

docker create \
--restart=always \
--name my_application \
-p 8888:8888 \
-v /application/log:/log \ 
username/application:0.0.5

docker start my_application 

--restart=always 加入服務器重啟,自啟動
-p 對外開放的端口,這里我有一個rpc服務,對外是8888
-v 掛在日志文件到宿主文件夾 這里是我記錄的日志文件夾

查看控制台輸出
docker logs my_application 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM