公司最近开发了一个项目是用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 bashdocker 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线上部署环境相关推荐

  1. 利用Docker构建开发环境

    最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境,感觉生活在PAAS时代的程序员真是幸福,本文会简要介绍下Docker是什么,如何利用Docker来搭建自己的开发环 ...

  2. Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译

    文章目录 前言 系列文章 Android 持续集成实践(二)--配置 Docker + gitlab-runner 实现线上自动编译 安装 Docker 安装 gitlab-runner 安装 注册 ...

  3. Spring-Boot启动方式,以及线上部署

    spring-boot简化的spring繁琐的配置文件方式,还可以很好的融入Docker,并且集成tomcat,Jetty等容器.本篇讲解Sping-Boot的启动方式. 从官网:http://sta ...

  4. 【大咖有约】Garena 黄智凯:利用Docker构建自动化运维平台

    Garena公司DBA黄智凯先生将作为DTCC 2016中国数据库技术大会特邀嘉宾出席.并将于5月14日"数据库自动化运维"专场分享题为<利用Docker构建自动化运维平台& ...

  5. 企业如何利用网络趋势做好线上营销?

    随着互联网的不断发展,线上营销越来越成为企业营销的重要组成部分.如何利用网络趋势做好线上营销,已经成为各大企业关注的焦点.本文将为大家介绍如何利用网络趋势做好线上营销的方法和技巧. 一.了解网络趋势 ...

  6. python线上编辑问题_python django - static文件处理与线上部署测试

    static文件相关操作涉及: a. 文件位置与访问路径映射 b. setting.py与static相关配置 STATIC_URL STATIC_ROOT STATICFILES_DIRS c. h ...

  7. 【Maven篇】---解决Maven线上部署java.lang.ClassNotFoundException和no main manifest attribute解决方法...

    一.前述 maven 线上部署的话会出现一些问题比如java.lang.ClassNotFoundException或者no main manifest attribute的话,是因为maven 配置 ...

  8. 【vue打包】线上部署报错net::ERR_ABORTED 404 (Not Found)

    文章目录 一.问题: 二.分析: 三.解决: 四.扩展: 一.问题: 线上部署报错net::ERR_ABORTED 404 (Not Found),但本地部署到nginx里面却没问题 二.分析: pu ...

  9. 前后端分离项目线上部署

    一.前言 我们在开发了一个前后端分离项目之后,为了任何用户在不同条件下也能够访问,需要将项目部署至线上,那么我们首先需要拥有一个服务器,网上有很多教程,能够教会大家如何拥有属于自己的服务器,这里不再赘 ...

最新文章

  1. linux 防火墙开机启动项,Ubuntu 9.10下实现Firestarter网络防火墙自启动
  2. python连接数据库并编写调用函数_Python使用pyodbc访问数据库操作方法详解
  3. LInux下Ubuntu下查看端口占用及关闭
  4. 4-10:TCP协议之面向字节流和粘包问题
  5. c# dataGridView与access数据库及其增删查改导出报表等
  6. 防止页面的重复提交,刷新
  7. 整理 .NET 平台下一些强大的开源控件和类库
  8. redis数据导入导出
  9. 第一章节 ASP.NET Web应用程序基础(一)
  10. C - 一个人的旅行(最短路径)
  11. 信息系统项目管理之进度管理过程
  12. layui结合zTree写树状图
  13. 微信ipad 62 A16登录协议,小程序code 小程序sessionid 获取
  14. java引用另一个程序图像,java – 在Android应用程序上显示图像的另一种方法
  15. 火狐浏览器插件开发小试
  16. 一个不错的404页页【非常抱歉,全站内容审核中...】
  17. 你对MySQL中的索引了解多少?
  18. [获取手机信息]-通过 ADB 命令获取手机信息
  19. Visual Studio 2005/2008/2010 简单更换配色主题(转自:http://apit.blogbus.com/logs/84846293.html)
  20. [js学习] javaScript学习

热门文章

  1. js java webservice_js调用webservice中的方法实现思路及代码
  2. TTL串口传输时,当收发线的长度和地线的长度不一样时,发生数据传输错误
  3. mysql sharding 读取_MySQL读写分离(一)——sharding-jdbc
  4. ios 平滑移动view_解决页面使用overflow: scroll在iOS上滑动卡顿的问题
  5. 1971旗舰cpu intel_AMD依然yes!官宣锐龙5000系列CPU,单核性能首次超越英特尔,苏妈:最好的游戏CPU!...
  6. python在数据分析的应用_Python运用于数据分析的简单教程
  7. Ensemble Learning
  8. sqlalchemy与mysql映射
  9. flask 启动服务
  10. MongoDB Documents