Goland 使用插件一鍵發布Docker到線上centos服務器


一、服務器docker開啟遠程訪問

vi /usr/lib/systemd/system/docker.service

在ExecStart這一行后添加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ,如下圖

重啟docker

systemctl daemon-reload
systemctl restart docker

確保服務器安全組開放2375端口
注意:直接開放2375端口意味着其他任何人也可以直接操作服務器,這里僅做測試用,正式服務器要加秘鑰驗證

二、安裝Docker插件&配置Docker服務器

1.打開File -> Settings -> Plugins 安裝Docker插件

2.打開File -> Settings -> Build,Execution... 按如下截圖添加Docker配置好IP+端口后會自動連接,出現connection successful說明連接成功

3.連接成功后會在IDE左下角出現Docker窗口,點擊左側綠色Connect后可以直接連接服務器,並且可以查看服務器上的鏡像和容器等。

三、創建項目和配置

1.點擊File -> New -> Project 創建一個新項目,然后創建main.go 實現一個簡單web版的helloworld

package main

import (
	"fmt"
	"net/http"
)

func sayHello(w http.ResponseWriter, r *http.Request){
	fmt.Fprintf(w, "hello world!")
}

func main() {
	http.HandleFunc("/", sayHello)
	http.ListenAndServe(":9090", nil)
}

2.創建一個基於scratch的最小Dockerfile文件,放在build目錄下

FROM scratch
MAINTAINER zhangsan "zhangsan@qq.com"

#添加運行程序
ADD hello /hello
CMD ["./hello"]

四、配置交叉編譯

環境變量改為CGO_ENABLED=0;GOARCH=amd64;GOOS=linux,參數改為-o ./build/hello 如下圖
意思是發布成liunx文件,並放到build目錄下的,名字為hello

選中配置點擊右上角的綠色按鈕,生成后的效果圖如下

五、配置Docker編譯

下面是Run Option的一些參數,可以自行增減docker run配置

--restart=always --env GO_ENV=prod --env GO_APP_PORT=9090 --expose 9090 -d -p 9090:9090

五、發布Docker


直接點運行按鈕就行了會自動做很多動作。1、自動連Docker服務器 2、編譯golang的liunx文件 3、docker build & docker run

在服務器上分別用docker imagesdocker ps -a查看運行情況,或者直接http訪問發布的程序端口測試

測試成功!!

如果改了image tag發現沒用的話,把docker停一下再連接試試,一般就可以了


免責聲明!

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



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