Docker 部署 go項目


主要參考:docker部署golang web服務

一、Dockerfile

原文沒有涉及需要額外包的情況。當需要額外包的時候,由於已經被牆,所以需要設置代理。

FROM golang:1.15.4

MAINTAINER "leimu"
WORKDIR /usr/search
RUN go env -w GO111MODULE=on
RUN go env -w GOPROXY=https://goproxy.cn,direct
ADD . /usr/search
RUN go mod init search
RUN go build main.go
EXPOSE 8080
ENTRYPOINT ["./main"]

使用go mod模式來處理包的依賴。

二、啟動

1、制作docker鏡像

docker build -t search .

docker build 構建鏡像
search 鏡像名字為search
. (點號) dockerfile目錄為當前目錄

2、查看鏡像

docker images search

3、運行docker容器

docker run -p 18080:8080 -d search

docker run 運行docker鏡像
-p 18080:8080 將宿主機(也就是本機)的18080端口映射到容器的8080端口,此處需要先確認本機的18080端口並未被占用,容器的8080端口是否在監聽。
通過lsof -i:18080查看占用該端口的進程
search 鏡像名(也可以是鏡像id)
-d 后台運行

4、查看容器運行情況

1、docker查看容器

docker ps -a

2、測試容器服務

curl http://localhost:18080/

3、如果啟動失敗,查看日志


免責聲明!

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



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