本文详细介绍了根据Docker镜像部署新go项目的方式和过程。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
依靠专业知识
自然完全不能按照这个流程来部署,但是很有可能中间出现一些小问题,你就不知道怎么解决了。自然可以在留言板上留言。
我在mac的自然环境下开发并测试了该软件。如果你在windows上,很可能会进出一点,但是应该不容易出什么问题。
一、依托自然环境
二。编写一个GoLangweb程序
我将在这里写一个非常简单的helloworld程序。监控端口号是端口80。
用以下内容创建一个新的main.go文件:
三。在linux下编写包
我在mac上开发设计的,要用go交叉编译。如果我对交叉编译一无所知,我可以查一下文本文档,或者马上复制我下面的说明来开发编译程序。
我们都想在Docker中运行,Docker基本上就是golang的镜像,所以必须写一个兼容i386CPU的程序。
这个编译器完成后,会在本地发布一个主程序空,暂时保留也是可以的。
四。使用Dockerfile自定义每个人的go程序的图像
创建一个新文件夹,在其中新建一个Dockerfile文件,然后在其中新建两个文件app和script2。将上一步中的主程序放入app文件夹,在脚本中创建新的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.看到上面的输出,说明编译成功,在你的本地镜像中有一个名为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项目的大量内容,请搜索您以前文章的内容或再次访问下面的相关文章。期待你以后的申请!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)