在docker上部署golang的web demo

2021-04-12  本文已影响0人  DOB_8199

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,出现我们事先定义的相应的内容

上一篇下一篇

猜你喜欢

热点阅读