開發平台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