基于Docker镜像部署go项目的方法步骤

基于Docker镜像部署go项目的方法步骤,第1张

基于Docker镜像部署go项目的方法步骤

本文详细介绍了根据Docker镜像部署新go项目的方式和过程。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

依靠专业知识

  • 交叉编译基础
  • Dockerbasic
  • Dockerfile自定义镜像基本版
  • docker-撰写编辑文件写作基础
  • 自然完全不能按照这个流程来部署,但是很有可能中间出现一些小问题,你就不知道怎么解决了。自然可以在留言板上留言。

    我在mac的自然环境下开发并测试了该软件。如果你在windows上,很可能会进出一点,但是应该不容易出什么问题。

    一、依托自然环境

  • 码头工人
  • 二。编写一个GoLangweb程序

    我将在这里写一个非常简单的helloworld程序。监控端口号是端口80。
    用以下内容创建一个新的main.go文件:

    packagemain import( "fmt" "log" "net/http" ) funcsayHello(whttp.ResponseWriter,r*http.Request){ fmt.Fprintf(w,"helloworld") } funcmain(){ http.HandleFunc("/",sayHello)//申请注册URI途径与相对的处理函数 log.Println("【默认设置新项目】服务项目起动取得成功监视端口号80") er:=http.ListenAndServe("0.0.0.0:80",nil) ifer!=nil{ log.Fatal("ListenAndServe:",er) } }

    三。在linux下编写包

    我在mac上开发设计的,要用go交叉编译。如果我对交叉编译一无所知,我可以查一下文本文档,或者马上复制我下面的说明来开发编译程序。
    我们都想在Docker中运行,Docker基本上就是golang的镜像,所以必须写一个兼容i386CPU的程序。

    sudoenvGOOS=linuxGOARCH=386gobuildmain.go

    这个编译器完成后,会在本地发布一个主程序空,暂时保留也是可以的。

    四。使用Dockerfile自定义每个人的go程序的图像

    创建一个新文件夹,在其中新建一个Dockerfile文件,然后在其中新建两个文件app和script2。将上一步中的主程序放入app文件夹,在脚本中创建新的build.sh脚本文件。不管文件的内容是什么,我们以后再说。
    实际的文件结构是这样的。

    . ├──Dockerfile ├──app │└──main └──script └──build.sh

    下面是Dockerfile文件的内容,我将首先对内容进行编码:

    FROMgolang MAINTAINER谦益 WORKDIR/go/src/ COPY.. EXPOSE80 CMD["/bin/bash","/go/src/script/build.sh"]

    在此声明:

    整合是从哪个形象来的?我们都是围棋程序。官网展示了一个类似golang的图像,我们可以立即应用。

    MAINTAINER是维护的名字。

    工作目录中的文件目录。

    COPY是一个复制指令,它将所有本地文件复制到工作文件目录中。

    EXPOSE是对方开发设计的端口号。我的默认设置是对外开放80端口,可以根据具体情况更改。

    CMD用主参数实现一条指令。我这样写是为了更好的启动镜像,从而实现script/build.sh的脚本制作,其中包含了启动go程序的书面指令。

    我将内容粘贴到这里:

    #!/usr/bin/envbash cd/go/src/app/&&./main

    就这两行。

    V.编译我们自己的程序映像

    这属于Docker的专长。我将粘贴说明。

    dockerbuild-tgo-web.
  • 该指令已执行。如果当地没有golang图像,他会去官方网站image库拉获取此图像,然后编译程序。静静等他就好。
  • go-web的主要参数是您最终编译程序后的图像名称。可以随便改,也可以添加版本信息如:go-web:v1。
  • 看到上面的输出,说明编译成功,在你的本地镜像中有一个名为go-web的镜像。能够使用docker图像进行查看:

    六。正在写入docker-compose.yml文件[/s2/]

    这里是属于大家的最后一步。如果您使用刚刚编译的go-web运行您的go程序:

    version:'2' networks: basic: services: world: container_name:world image:go-web ports: -"8099:80" volumes: -./app/go/world:/go/src/app:rw networks: -basic

    在这里,大家的编辑文件都已经写好了。现在,只需要使用docker-compose启动每个人的编辑文件。启动命令如下:

    docker-compose-fdocker-compose.ymlup-dworld

    如果输出以下提醒,则表示启动成功。

    Creatingworld...done

    启动成功后可以再次使用。

    dockerps

    让我们检查一下启动是否成功。

    现在浏览http://127.0.0.1:8099就可以浏览你的围棋程序了。

    到目前为止,本文关于基于Dockermirror部署新go项目的方法和过程的内容已经在这里详细介绍过了。有关基于Dockermirror部署新go项目的大量内容,请搜索您以前文章的内容或再次访问下面的相关文章。期待你以后的申请!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/zz/774556.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存