如何利用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 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线上部署环境相关推荐
- 利用Docker构建开发环境
最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境,感觉生活在PAAS时代的程序员真是幸福,本文会简要介绍下Docker是什么,如何利用Docker来搭建自己的开发环 ...
- Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译
文章目录 前言 系列文章 Android 持续集成实践(二)--配置 Docker + gitlab-runner 实现线上自动编译 安装 Docker 安装 gitlab-runner 安装 注册 ...
- Spring-Boot启动方式,以及线上部署
spring-boot简化的spring繁琐的配置文件方式,还可以很好的融入Docker,并且集成tomcat,Jetty等容器.本篇讲解Sping-Boot的启动方式. 从官网:http://sta ...
- 【大咖有约】Garena 黄智凯:利用Docker构建自动化运维平台
Garena公司DBA黄智凯先生将作为DTCC 2016中国数据库技术大会特邀嘉宾出席.并将于5月14日"数据库自动化运维"专场分享题为<利用Docker构建自动化运维平台& ...
- 企业如何利用网络趋势做好线上营销?
随着互联网的不断发展,线上营销越来越成为企业营销的重要组成部分.如何利用网络趋势做好线上营销,已经成为各大企业关注的焦点.本文将为大家介绍如何利用网络趋势做好线上营销的方法和技巧. 一.了解网络趋势 ...
- python线上编辑问题_python django - static文件处理与线上部署测试
static文件相关操作涉及: a. 文件位置与访问路径映射 b. setting.py与static相关配置 STATIC_URL STATIC_ROOT STATICFILES_DIRS c. h ...
- 【Maven篇】---解决Maven线上部署java.lang.ClassNotFoundException和no main manifest attribute解决方法...
一.前述 maven 线上部署的话会出现一些问题比如java.lang.ClassNotFoundException或者no main manifest attribute的话,是因为maven 配置 ...
- 【vue打包】线上部署报错net::ERR_ABORTED 404 (Not Found)
文章目录 一.问题: 二.分析: 三.解决: 四.扩展: 一.问题: 线上部署报错net::ERR_ABORTED 404 (Not Found),但本地部署到nginx里面却没问题 二.分析: pu ...
- 前后端分离项目线上部署
一.前言 我们在开发了一个前后端分离项目之后,为了任何用户在不同条件下也能够访问,需要将项目部署至线上,那么我们首先需要拥有一个服务器,网上有很多教程,能够教会大家如何拥有属于自己的服务器,这里不再赘 ...
最新文章
- linux 防火墙开机启动项,Ubuntu 9.10下实现Firestarter网络防火墙自启动
- python连接数据库并编写调用函数_Python使用pyodbc访问数据库操作方法详解
- LInux下Ubuntu下查看端口占用及关闭
- 4-10:TCP协议之面向字节流和粘包问题
- c# dataGridView与access数据库及其增删查改导出报表等
- 防止页面的重复提交,刷新
- 整理 .NET 平台下一些强大的开源控件和类库
- redis数据导入导出
- 第一章节 ASP.NET Web应用程序基础(一)
- C - 一个人的旅行(最短路径)
- 信息系统项目管理之进度管理过程
- layui结合zTree写树状图
- 微信ipad 62 A16登录协议,小程序code 小程序sessionid 获取
- java引用另一个程序图像,java – 在Android应用程序上显示图像的另一种方法
- 火狐浏览器插件开发小试
- 一个不错的404页页【非常抱歉,全站内容审核中...】
- 你对MySQL中的索引了解多少?
- [获取手机信息]-通过 ADB 命令获取手机信息
- Visual Studio 2005/2008/2010 简单更换配色主题(转自:http://apit.blogbus.com/logs/84846293.html)
- [js学习] javaScript学习
热门文章
- js java webservice_js调用webservice中的方法实现思路及代码
- TTL串口传输时,当收发线的长度和地线的长度不一样时,发生数据传输错误
- mysql sharding 读取_MySQL读写分离(一)——sharding-jdbc
- ios 平滑移动view_解决页面使用overflow: scroll在iOS上滑动卡顿的问题
- 1971旗舰cpu intel_AMD依然yes!官宣锐龙5000系列CPU,单核性能首次超越英特尔,苏妈:最好的游戏CPU!...
- python在数据分析的应用_Python运用于数据分析的简单教程
- Ensemble Learning
- sqlalchemy与mysql映射
- flask 启动服务
- MongoDB Documents