一次golang应用的docker部署经历
开发平台win10,服务器centos7.5
编写dockerfile
# scratch 为空镜像,因为golang的build的可执行文件不需要什么环境
FROM scratch
# 作者署名
MAINTAINER liusiming <liusm1111@outlook.com>
# 添加一个证书,要不然websocket连接会报错 dial:x509: certificate signed by unknown authority,下载地址:https://curl.haxx.se/ca/cacert.pem
ADD cacert.pem /etc/ssl/certs/
# 可执行文件
ADD ticker-server /
#配置文件
ADD config.toml /
# 运行
CMD ["/application"]
写一个build.bat文件,很方便
@echo off
:: 编译linux可执行文件
SET CGO_ENABLED=
SET GOOS=linux
SET GOARCH=amd64
go build -o application main.go
:: build镜像并指定一个版本
docker build -t username/repository:% .
:: 上传到你的dockerhub 仓库(需要梯子)
docker push username/repository:%
pause
运行build.bat 0.0.1即可
最后是服务下载镜像
docker create \
--restart=always \
--name my_application \
-p : \
-v /application/log:/log \
username/application:0.0. docker start my_application --restart=always 加入服务器重启,自启动
-p 对外开放的端口,这里我有一个rpc服务,对外是8888
-v 挂在日志文件到宿主文件夹 这里是我记录的日志文件夹 查看控制台输出
docker logs my_application
一次golang应用的docker部署经历的更多相关文章
- Docker部署golang微服务项目
这篇博客是为了记录一下部署步骤. 因为实训需要,我要在服务器上用docker部署我们小组的微服务项目.我们的微服务有Gateway,User,Scene,Device四个部分,分别占用不同的端口,其中 ...
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
- 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作
经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...
- 使用docker 部署codis
使用docker 部署codis 原文地址:https://www.jianshu.com/p/85e72ae6fec3 codis的架构图 1.zookeeeper,用于存放统一配置信息和集群状态 ...
- 如何使用Docker部署Go Web应用
目录 如何使用Docker部署Go Web应用 Docker部署示例 准备代码 创建Docker镜像 编写Dockerfile Dockerfile解析 From Env WORKDIR,COPY,R ...
- [DEBUG] QAT Nginx for docker 部署时"--with-ld-opt"出错
layout: post title: [DEBUG] QAT Nginx for docker 部署时"--with-ld-opt"出错 subtitle: 记一次debug经历 ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- 程序开发使用docker部署
我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...
随机推荐
- VSCode在Ubuntu下快捷键和Windows下不一致的解决办法
Windows下切换前一次和后一次光标位置,用的快捷键是Alt+<-和Alt+->.很遗憾,Ubuntu下并不是这个快捷键.不清楚为什么VSCode不提供统一的快捷键,但对于我来说,我很想 ...
- 部署ceph存储集群及块设备测试
集群环境 配置基础环境 添加ceph.repo wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishang ...
- jq node.js bootstrap
1.node.js 网址:https://nodejs.org/en/ 用来通过下载node.js 来引用里面的npm 来实现对外部项目的下载 1.安装nodejs 自带了npm npm instal ...
- idea下新建Spring Boot项目并配置启动
一.操作步骤 ①使用idea新建一个Spring Boot项目 ②修改pom.xml ③修改application.properties ④修改编写一个Hello Spring Boot的Contro ...
- Python并发编程内容回顾
Python并发编程内容回顾 并发编程小结 目录 • 一.到底什么是线程?什么是进程? • 二.Python多线程情况下: • 三.Python多进程的情况下: • 四.为什么有这把GIL锁? • 五 ...
- Python 模块A
模块的四种形式 自定义模块,例如自己定义的common.py就叫common模块 内置模块:python解释器自带的,不需要安装 第三方模块:需要自己安装,13万个库,无所不能,写库(弄得更简单) 包 ...
- [51nod1227]平均最小公倍数(莫比乌斯反演+杜教筛)
题意 求 $\sum_{i=a}^b \sum_{j=1}^i \frac{lcm(i,j)}{i}$. 分析 只需要求出前缀和, $$\begin{aligned}\sum_{i=1}^n \sum ...
- Ant Design的Form
Ant Design的Form 使用onFieldsChange时不要与 mapPropsToFields一起使用,将导致表单校验等失效
- 非vue等框架中html 中使用es6的模块用法小结
以下是html中使用es6模块化引入的方法 一.html中的引入 <!DOCTYPE html> <html lang="en"> <head> ...
- dijkstra算法的堆优化
普通的dijkstra算法模板: //数据结构 int g[LEN][LEN]; //邻接矩阵 int vis[LEN]; //标记是否访问 int dist[LEN] //源点到各点的距离 fill ...