在docker上部署golang的web demo

DOB_8199 · · 146 次点击 · · 开始浏览    

1. main.go的代码如下:


2. 运行以上demo,获得一个main.exe,代码如下:

webapp> go build main.go

(在mac下如果直接执行代码为:./main)


3. 在Dockerfile配置文件中指定步骤

关于Dockerfile命令,有一篇很详细的解释:https://my.oschina.net/u/3829444/blog/1860849


4. 在项目目录下,执行下面的命令创建镜像,并指定镜像名称为webapp:

docker build.-t webapp

中途出现了 go: go.mod file not found in current directory or any parent directory; see 'go help modules'的问题

解决方法:新建一个空的go.mod:

                    go mod init

                 添加模块依赖和sums:

                    go mod tidy

再重新执行:docker build . -t webapp


5. 查看现在的镜像

docker images,存在webapp,即成功


6. 执行下面的命令来运行镜像

        docker run -p 8888:8888 webapp

        对上述代码的解释:标志位-p用来定义端口绑定。由于容器中的应用程序在端口8888上运行,我们将其绑定到主机端口也是8888。如果要绑定到另一个端口,则可以使用-p $HOST_PORT:8888。例如-p 5000:8888。


7. 测试web程序是否工作

打开浏览器输入http://127.0.0.1:8888,出现我们事先定义的相应的内容


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:DOB_8199

查看原文:在docker上部署golang的web demo

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

146 次点击  
加入收藏 微博
下一篇:Go sync.Map
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传