码迷,mamicode.com
首页 > 其他好文 > 详细

Goland 使用插件一键发布Docker到线上centos服务器

时间:2020-04-19 12:31:21      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:nil   使用   linux   安装   程序端口   打开   system   centos服务   always   

一、服务器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停一下再连接试试,一般就可以了
技术图片

Goland 使用插件一键发布Docker到线上centos服务器

标签:nil   使用   linux   安装   程序端口   打开   system   centos服务   always   

原文地址:https://www.cnblogs.com/nickchou/p/12723533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!