zoukankan      html  css  js  c++  java
  • 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停一下再连接试试,一般就可以了

  • 相关阅读:
    Microsoft .NET Framework 以及 CLR 的版本
    如何:备份 Team Foundation Server
    通过VS2008SP1 访问TFS2010
    Project 2007 Understanding Project's Percent Complete vs. Percent Work Complete
    TFS:从单服务器部署移到双服务器部署
    C#网络编程(基本概念和操作) Part.1
    图解Windows server 2012故障转移群集的安装、建立
    产品经理经验总结
    TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
    Windows Phone开发概论
  • 原文地址:https://www.cnblogs.com/nickchou/p/12723533.html
Copyright © 2011-2022 走看看