如何利用docker 构建golang线上部署环境
Posted jackluo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用docker 构建golang线上部署环境相关的知识,希望对你有一定的参考价值。
公司最近开发了一个项目是用golang 写的,现在要部署到线上环境去,又不想在服务器上装单独的golang,决定用docker 封装下,直接打到镜像里面,然后就直接在hub.docker.com上面搜了下golang的镜像,直接就docker pull golang 最新的是1.9的版本
然后参考官方的文档弄了下Dockerfile大概是这样:
FROM golang MAINTAINER jackluo #指定工作目录 WORKDIR /go/src/ActivitApi COPY . . CMD ["/bin/bash", "build.sh"]
build.sh里面的代码是这样,大概就是进入目录,编译golang ,最后运行编译好的server 文件
#!/usr/bin/env bash cd /go/src/ActivitApi/server && go build && ./server
其实可以直接运行编译好的.server 文件,因为每次启动的时候,它才去编译,可能启个服务,需要几秒钟的时间,我们写的大概编译再启动需要10秒左右的时间
最后启用docker
#!/usr/bin/env bash docker stop apihdtest docker rm apihdtest docker run -d --name apihdtest \\ -p 17071:17071 \\ --link mysql:mysql.io \\ --link redis:redis.io \\ -v $(pwd):/go/src/ActivitApi \\ activityapi #docker exec -it apihdtest /bin/bash /go/src/ActivitApi/build.sh
然后这个就启起来了
最后,我们看下完整的截图吧
仅参考.
以上是关于如何利用docker 构建golang线上部署环境的主要内容,如果未能解决你的问题,请参考以下文章