Go语言中文网 为您找到相关结果 145

初识Dockerfile

[**官方文档**](https://docs.docker.com/v17.09/engine/reference/builder/#from) ### FROM 语法: ```shell FROM [AS ] FROM [:][AS ] FROM [@][AS ] ``` ### RUN 功能 :在一个新层执行任意命令并提交结果,提交的结果将用于Dockerfile的下一个步骤,分层运行和提交符合Docker的核心概念 ```shell RUN RUN ["executable","param1","param2"] 例子 FROM alpine:latest...阅读全文

博文 2019-07-24 12:31:14 daymenu

Golang的docker尝试

一、 前言 docker 就不在这里介绍了,相关的文档已经很完善,中文文档 Docker —— 从入门到实践 写的很棒,推荐去看看。 docker 基于 Golang 开发,已经不用解释了,而 Golang 天生适合运行在 docker 容器中,却不是这个原因,这得益于:Golang 的静态编译,当在编译的时候关闭 cgo 的时候,可以完全不依赖系统环境。 二、 Golang代码 我们打算在 docker 中测试 Golang ,所以先编写一个 Golang 的测试代码。 新建文件:vi main.go package main import ( "fmt" "io/ioutil" "net/http" "os" ) func main() { resp, err := http.Get("...阅读全文

博文 2017-10-20 13:03:16 dingdayu

在 linkit smart 7688 寫 golang

## 原文來自: [在 linkit smart 7688 寫 golang](https://blog.wu-boy.com/2016/04/write-golang-in-linkit-smart-7688/) 很高興 [Mediatek][1] 在去年推出 [linkit smart 7688][2] 開發版,你可以把 7688 想成是一台迷你型 Router,如果不來拿開發,也可以當家用 Router 也是不錯的。7688 讓開發者可以在上面寫 [Node.js](https://nodejs.org/en/), Python 及 Native C,光是聽到 Node.js 就很興奮,用 JavaScript 控制硬體。但是本篇要介紹如何在 7688 執行 [Golang][3...阅读全文

Docker系列之一:入门介绍

Docker简介: Docker是DotCloud开源的、可以将任何应用包装在Linux container中运行的工具。2013年3月发布首个版本,当前最新版本为1.3。Docker基于Go语言开发,代码托管在Github上,目前超过10000次commit。基于Docker的沙箱环境可以实现轻型隔离,多个容器间不会相互影响;Docker可以自动化打包和部署任何应用,方便地创建一个轻量级私有PaaS云,也可以用于搭建开发测试环境以及部署可扩展的web应用等。 Docker vs VM 从下图可以看出,VM是一个运行在宿主机之上的完整的操作系统,VM运行自身操作系统会占用较多的CPU、内存、硬盘资源。Docker不同于VM,只包含应用程序以及依赖库,基于libcontainer运行...阅读全文

Docker实战 - 将golang工程部署到docker

目标功能 使用go语言实现基本http服务 访问 localhost:8080 时能够返回 “hellodocker” 将工程部署到docker,并在后台启动 重点难点 dockerfile结构 docker网络结构 操作步骤 Go工程 1 在本机新建go工程,目录名为hellodocker package main import ( "fmt" "net/http" ) func indexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "hello docker") } func main() { http.HandleFunc("/", indexHandler) http.ListenAndServe(...阅读全文

博文 2017-10-31 14:04:41 _叶左左

Docker学习笔记---Dockerfile

Docker可以通过从Dockerfile包含所有命令的文本文件中读取指令,自动构建镜像。 每个需要使用Docker的项目都应该有一个Dockerfile,这个文件描述了我们需要的镜像环境。 Dockerfile指令 FROM 有效的Dockerfile必须从FROM开始,镜像可以是任何有效的镜像。 官方建议,如果只需要一个linux基础镜像,建议使用Debian镜像,控制的很小。 FROM [AS ] 或 FROM [:] [AS ] 或 FROM [@] [AS ] LABEL LABEL = = = ... 该...阅读全文

博文 2017-08-24 15:34:50 EarthChen

gitlab-ci.yml

前几天做以docker方式来运行runner,现在想好像有点出入。真正应该是通过打包一个docker镜像,在镜像里进行测试,测试通过后提交到镜像仓库,接着发布到测试集群里进行集成测试,最终发布到生产环境里。现在完成了通过打包测试镜像进行测试,然后再生成生产镜像。为了缩减生产镜像的大小(golang镜像将近700M,golang:alpine镜像250M,而通过mutil+stage方式打包到Alpine基础包,只有10M左右。下面有详细的文件例子。在一个项目里一般只有一个Dockerfile,满足不了需求,发现可以通过-f Dockefile指定不同的文件进行打包,但是Dockerfile.test这种带后缀方式有问题,应该使用DockerfileTest这种方式。参见Docker buil...阅读全文

博文 2017-07-12 03:06:13 潘祖龙

应用管理平台 Cloudbang

## Cloudbang(云帮) ### 云帮 是好雨科技研发的一款基于容器技术的应用管理平台。社区版针对个人、企业完全免费,您可以自由的下载与传播。借助它您可以实现: * #### 企业级的Docker管理平台 * #### 开发、测试环境的CI/CD平台 * #### 生产环境的运维平台 ### 快速开始 您可以访问 [平台安装](http://doc.goodrain.com/cloudbang-community-install/198499) 章节阅读云帮社区版的安装手册,快速部署一套属于自己的私有云平台。 如果您想深入了解云帮平台,可以访问 [设计思想](http://doc.goodrain.com/cloudbang-community-install/20...阅读全文

高质量Node.js微服务的编写和部署

本文整理自【时速云微信群线上分享】第十三期 微服务架构是一种构造应用程序的替代性方法。应用程序被分解为更小、完全独立的组件,这使得它们拥有更高的敏捷性、可伸缩性和可用性。 一个复杂的应用被拆分为若干微服务,微服务更需要一种成熟的交付能力。持续集成、部署和全自动测试都必不可少。编写代码的开发人员必须负责代码的生产部署。构建和部署链需要重大更改,以便为微服务环境提供正确的关注点分离。 后续我们会聊一下如何在时速云平台上集成 DevOps。 ![](http://blog.tenxcloud.com/wp-content/uploads/2016/08/node.js1_.png) **Node.js 是构建微服务的利器,为什么这么说呢,我们先看下 Node.js 有...阅读全文

Docker搭建自用golang开发环境

记录使用docker搭建自用开发环境的过程.最终效果:宿主机中仅仅安装git,其他所有环境,如golang|php等开发环境都安装在docker容器中 目前问题:数据库|日志等数据的持久化保存 自我规范: 1.docker镜像的创建统一使用Dockerfile创建[便于清晰掌握镜像的构成] 目录规划: 1.$HOME/code/docker:目录存放所有dockerfil...阅读全文

博文 2018-06-02 17:30:00 yin5th

Golang Gin实践 番外 请入门 Makefile

Golang Gin实践 番外 请入门 Makefile 原文地址:Golang Gin实践 番外 请入门 Makefile 前言 含一定复杂度的软件工程,基本上都是先编译 A,再依赖 B,再编译 C...,最后才执行构建 如果每次都人为编排,又或是每新来一个同事就问你项目 D 怎么构建、重新构建需要注意什么...等等情况,岂不是要崩溃? 我们常常会在开源项目中发现 Makefile,你是否有过疑问? 本章节会简单介绍 Makefile 的使用方式,最后建议深入学习 怎么解决 对于构建编排,Docker 有 Dockerfile ,在 Unix 中有神器 Make .... Make 是什么 Make 是一个构建自动化工具,会在当前目录下寻找 Makefile 或 makefile 文件。如...阅读全文

博文 2018-08-26 20:34:53 煎鱼

为Kubernetes集群中服务部署Nginx入口服务

这段日子,一直在搞与Kubernetes有关的东东:像什么Kubernetes集群搭建、DNS插件安装和配置、集成Ceph RBD持久卷、Private Registry镜像库访问等,这些都缘于正在开发的一个类PaaS小平台的需要:“平台虽小,五脏俱全”。整个平台由Kubernetes集群承载,对于K8s集群内部的Service来说,目前还欠缺一个服务入口。之前的《Kubernetes集群中的Nginx配置热更新方案》一文实际上就是入口方案设计的一个前奏,而本文则是说明一下Nginx入口服务部署设计和实施过程中遇到的一些坑。 一、Nginx入口方案简述 Nginx作为集群入口服务,从功能上说,一般都是充当反向代理和负载均衡的角色。在我们这里它更多是用于反向代理,因为负载均衡的事情“移交”给了...阅读全文

博文 2017-02-06 03:04:32 bigwhite

在 Kubernetes 中构建容器镜像kaniko

通常,标准 Dockerfile 的生成需要与 Docker 后台进程交互访问,也就是需要本机 root 权限。如果是在 Docker 后台进程无法暴露的场景下,生成容器镜像就变得很困难。 kaniko 是 Google 开源的一个工具,旨在帮助开发人员从容器或 Kubernetes 集群内的 Dockerfile 构建容器镜像。 **工作原理:** kaniko 作为一个容器镜像运行,它接受三个参数:一个 Dockerfile ,一个构建上下文以及将镜像推送到的注册表。它在执行程序镜像中提取基本镜像的文件系统。然后,在 Dockerfile 中执行任何命令,快照用户空间中的文件系统。Kaniko 在每个命令后都会将一层已更改的文件附加到基本镜像。最后,执行程序将新镜像推送到指...阅读全文

【时速云线上分享】 第九期:镜像构建优化之路

为促进 Docker 、 Kubernetes 等技术的交流传播,同时帮助用户更全面地了解时速云产品及其应用,时速云每两周会进行一次技术分享,分享时间为**周四晚 8:30-9:30**在用户微信群、时速云技术分享群等进行产品、容器技术相关的技术直播分享和现场答疑。以下整理自**5 月 26 日第九期技术分享内容**,由 时速云工程师 赵帅龙 分享。 本次分享的 PPT 内容如下([PPT 下载][1]) ![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2016/05/%E5%B9%BB%E7%81%AF%E7%89%872.jpg) ![alt 文本](http://blog.tenxcloud.com/wp-co...阅读全文

golang进阶(一)——glide的使用手册

+++ title=”golang进阶(一)——glide的使用手册” date=”2017-10-10” tags=[“golang”,”glide”,”docker”] categories=[“资源管理”] description=”golang也有包管理,类似maven,gradle,npm,bower之类的” featured=true image=”img/201710/fengjing1.jpeg” +++ golang的包管理软件有很多,我选择了glide,由于深中docker之毒,所以方式也就用docker的方式来了,看不懂的先补docker的课 glide的Dockerfile 直接把glide做成镜像,基础镜像是golang,把两者打包成一个golang的运行环境 Do...阅读全文

博文 2017-11-06 12:06:48 lastsweetop

容器101:Docker 基本法则

***本文介绍了Docker镜像,容器和Registry,以及他们如何给基础设施和软件复用带来益处。*** Docker原名dotCloud,以建立单一应用程序的Linux容器为目的在2012年以一个开源项目起步。此后Docker 成为一个大受欢迎的开发工具,越来越多地作为运行环境使用。很少能有像Docker一样迅速地受到开发者欢迎的技术。 Docker如此受欢迎的一个原因是它提供“开发一次,随处运行”的承诺。Docker提供一种简单的方法来将应用程序以及运行时依赖打包进单一的容器;它还提供了一种运行时抽象,使容器跨不同版本的Linux内核运行。 开发者可以使用Docker在他或她的工作站做一个容器化应用,然后轻松地把容器部署到任何启用Docker的服务器中。无论是在云或...阅读全文

压力测试

项目: https://github.com/nightlegend/stress_testing 介绍: 项目是用golang 实现,引用vegeta 的lib来实现压力测试,其实vegeta部分已经实现的功能比较完善了,但是上手还是有点难度的,在实际使用中,包装一层,这样使用起来比较简单,对有这方面的需求但是不想花太多精力,可以考虑。 项目内容 1. 结构 --conf --conf.yml --loadConf.go--lib --stressGet.go --stressPost.go--Dockerfile--main.go--docker-compose.yml--README.md-------------------------------------------------...阅读全文

博文 2017-06-04 13:08:25 郭志伟DavidGuo

判题服务器 judger

judger是Goj判题系统中的判题服务器部分,服务器由Go语言开发,沙箱由C语言开发 1. 目前支持断言模式判题 2. 支持TCP协议通讯 3. 支持基于HTTP协议的JSONRPC协议通讯 4. 同时支持Linux服务器、Windows服务器(Mac服务器暂时未支持) 5. 执行器支持Linux系统和Windows系统 6. 执行器在Linux系统上支持沙箱模式 7. 沙箱可配置系统调用(Syscall)白名单列表 8. 提供Golang,Java,C#,PHP客户端SDK 9. SQLite数据库存储 10. Dockerfile一键部署支持 此版本是最初版,版本号定为0.0.1,后期的开发之路还很...阅读全文

docker(8):使用alpinelinux 构建 golang http 看看能有多小

1,alpine linux 非常小 首先 alpine 非常的小,安装上了bash 之后也才 5mb。 golang 不需要其他的依赖,想看看是不是能在 alpine 上面跑呢。 搭建一个golang的环境,而不是把golang的环境放到alpine上面。 2,首先在centos 搭建golang环境 https://golang.org/doc/install 下载然后解压缩: tar -C /usr/local -xzf go1.7.4.linux-amd64.tar.gz 设置环境变量: export PATH=$PATH:/usr/local/go/bin export GOPATH=/data/go 假设gopath 在/data/go目录下面。 编写http.go packag...阅读全文

博文 2017-01-06 09:00:03 freewebsys

聊一聊基于Docker的持续构建实现

持续集成是一种软件开发实践。在一个团队中开发人员经常会对他们的工作进行集成,这个频率通常为每人每天至少集成一次,这也就意味着一个团队每天可能会面临着多次集成。 在进行集成时,团队成员会通过自动化地构建,包括编译、发布、自动化测试,来验证。在这个过程中团队成员可以尽快地发现集成错误,使团队能够更快地开发内聚的软件。 基于此,一般的互联网公司或者开发团队都会有自己的持续集成平台或者工具,而开源的持续集成工具如 jenkins,teamcity,gitlab ci 等都提供了持续集成的功能。 但这些工具的使用一般都较为复杂,流程编排会比较长。 而 Docker的存在使得持续集成摆脱了以往打通环境、资源申请、软件部署等带来的痛苦,可以更加快速方便地对既有工作成果进行持续集成。 基于Docker的持续...阅读全文

博文 2017-02-10 12:06:37 网易蜂巢

GitLab+Docker快速搭建CI/CD自动化部署

一、准备工作 二、环境配置 三、提交更新并自动部署到服务器,测试地址:http://182.61.57.121:8000 一、准备工作 gitlab环境(为了方便,使用官方的托管仓库) 装有docker和gitlab-runner环境的云服务器(这里用到CentOS 7 64位) 项目代码,这里我使用Golang作为开发语言,其它开发语言也一样的操作流程 代码.png Dockerfile文件 FROM golang:latest MAINTAINER Razil "412657308@qq.com" WORKDIR $GOPATH/src/kun.com/cicd-demo COPY . $GOPATH/src/kun.com/cicd-demo RUN go build . EXPOSE...阅读全文

博文 2018-07-29 12:34:52 KunZhen

Dockerfile多阶段构建原理和使用场景

Docker 17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令。这样做有什么意义呢? 老版本Docker中为什么不支持多个 FROM 指令 在17.05版本之前的Docker,只允许Dockerfile中出现一个FROM指令,这得从镜像的本质说起。 在《Docker概念简介》 中我们提到,你可以简单理解Docker的镜像是一个压缩文件,其中包含了你需要的程序和一个文件系统。其实这样说是不严谨的,Docker镜像并非只是一个文件,而是由一堆文件组成,最主要的文件是 层。 Dockerfile 中,大多数指令会生成一个层,比如下方的两个例子: # 示例一,foo 镜像的Dockerfile # 基础镜像中已...阅读全文

博文 2018-08-24 16:35:04 赵一凡

【Docker实战】Dockerfile多阶段构建原理

Docker 17.05版本以后,新增了Dockerfile多阶段构建。所谓多阶段构建,实际上是允许一个Dockerfile 中出现多个 FROM 指令。这样做有什么意义呢?老版本Docker中为什么不支持多个 FROM 指令在17.05版本之前的Docker,只允许Dockerfile中出现一个FROM指令,这得从镜像的本质说起。在《Docker概念简介》 中我们提到,你可以简单理解Docker的镜像是一个压缩文件,其中包含了你需要的程序和一个文件系统。其实这样说是不严谨的,Docker镜像并非只是一个文件,而是由一堆文件组成,最主要的文件是 层。Dockerfile 中,大多数指令会生成一个层,比如下方的两个例子:# 示例一,foo 镜像的Dockerfile# 基础镜像中已经存在若干个...阅读全文

博文 2018-09-03 20:34:58 脉冲云DevOps

DockOne微信分享( 九十二):如何使用 Node.js 和 Docker 构建高质量的微服务

【编者的话】微服务的服务范围越来越广泛,尤其是在构建复杂应用中,下面我主要从以下几点分享如何使用 Node.js 和 Docker 构建高质量的微服务,以及使用 Kong 构建 API gateway: 什么是微服务Node.js 异步流程控制及异常处理使用 Kong 构建 API gateway微服务持续集成与快速部署 1. 什么是微服务微服务架构是一种构造应用程序的替代性方法。应用程序被分解为更小、完全独立的组件,这使得它们拥有更高的敏捷性、可伸缩性和可用性。一个复杂的应用被拆分为若干微服务,微服务更需要一种成熟的交付能力。持续集成、部署和全自动测试都必不可少。编写代码的开发人员必须负责代码的生产部署。 在实际基于 Docker 构建微服务架构中,我们主要解决了以下5个问题: 编写高质量...阅读全文

博文 2017-06-25 16:25:22 zhangpc

阿里云ECS启动容器无法访问外网

初次在ECS使用docker,如文章所述有误,劳烦看官留言指正,谢过! 日期:2017-07-19 平台: 阿里云 ECS操作系统: Centos 7注明日期,只是辅助看官参考,随时间过去,文中所述不一定适用您遇到的问题。 言归正传 本文重点讲,ECS中docker build 不能访问外网的问题,所以,如何安装或部署golang服务,请参考使用alpinelinux 构建 golang http , 创建镜像的Dockerfile如下: FROM alpine:latest MAINTAINER demo RUN echo -e "https://mirror.tuna.tsinghua.edu.cn/alpine/latest-stable/main\n\ ...阅读全文

如何优雅使用Docker?请收下这15个小技巧。

Tip1获取最近运行容器的id 这是我们经常会用到的一个操作,按照官方示例,你可以这样做(环境ubuntu): 这种方式在编写脚本的时候很有用,比如你想在脚本中批量获取id,然后进一步操作。但是这种方式要求你必须给ID赋值,如果是直接敲命令,这样做就不太方便了。 这时,你可以换一种方式: docker ps -l -q命令将返回最近运行的容器的id,通过设置别名(alias),dl命令就是获取最近容器的id。这样,就无需再输入冗长的docker ps -l -q命令了。通过两个斜引号“,可以获取dl命令的值,也就是最近运行的容器的id。Tip2尽量在Dockerfile中指定要安装的软件,而不用Docker容器的shell直接安装软件。 说实话,我有时候也喜欢在shell中安装软件,也许你也...阅读全文

博文 2018-08-19 21:34:52 Java填坑之路

[Docker性能优化]优化Docker镜像(3)减小Docker镜像尺寸

#减小镜像尺寸有两种方法 使用链式指令 分离编译镜像和部署镜像使用链式指令&& 构建历史.png 个人觉得镜像会变大的其中一个原因就是元数据的大量化,试想一下对于每个指令的执行,docker都会为该指令所在的层次打上元数据标签。#####################即对于每一条指令都会打上元数据,镜像总和=元数据总和+每一层镜像总和试想最坏的情况,待到有很多条构建指令时,且每一条构建语句中只有一条构建指令,那样的元数据总和就会变得非常大了 ################为了解决这个问题,我们使用&&进行链式指令,即将多条指令使用&&链接起来,使得一条构建语句中包含多个执行指令,这样的话能够有效减少元数据总和 当然还有一点不得不提的是:################为了整个镜像层尺寸,...阅读全文

博文 2017-06-17 14:07:35 行书以鉴

Docker 重要更新: 原生支持多阶段构建(multi-stage build)

Docker 的口号是 Build, Ship, and Run Any App, Anywhere.但是我们在应用过程中会遇到一个问题,我们在 build 的时候,把源码也 build 进去了。然后就继续把源码 Ship 出去吗?这可不行。所有的编译型语言都面临这个困扰。即使是脚本型语言,build 的时候也会使用很多上线时用不到的构建工具,而我们希望减小生产镜像的体积,这样我们的小鲸鱼才能多拉一点集装箱嘛。 传统做法 我们最终的目的是要将编译好的可执行文件复制到 alpine 这样的迷你镜像里,那么该怎么弄到编译好的文件呢?基于 Docker 的思想,我们肯定需要在一个标准容器中编译,这样这个过程才是标准化的,再说,你在 Ubuntu 编译出一个二进制文件在 alpine 也运行不了。 ...阅读全文

博文 2017-04-14 10:01:34 Muninn

理解Docker的多阶段镜像构建

Docker技术从2013年诞生到目前已经4年有余了。对于已经接纳和使用Docker技术在日常开发工作中的开发者而言,构建Docker镜像已经是家常便饭。但这是否意味着Docker的image构建机制已经相对完美了呢?不是的,Docker官方依旧在持续优化镜像构建机制。这不,从今年发布的Docker 17.05版本起,Docker开始支持容器镜像的多阶段构建(multi-stage build)了。 什么是镜像多阶段构建呢?直接给出概念定义太突兀,这里先卖个关子,我们先从日常开发中用到的镜像构建的方式和所遇到的镜像构建的问题说起。 一、同构的镜像构建 我们在做镜像构建时的一个常见的场景就是:应用在开发者自己的开发机或服务器上直接编译,编译出的二进制程序再打入镜像。这种情况一般要求编译环境与镜...阅读全文

博文 2017-11-12 12:36:38 bigwhite

如何在docker中进行gdb调试

环境准备 install nsenter nsenter 工具在 util-linux 包2.23版本后包含。 nsenter 可以访问另一个进程的名字空间。nsenter 要正常工作需要有 root 权限。 很不幸,Ubuntu 14.04 仍然使用的是 util-linux 2.20。 $ cd /tmp; curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf-; cd util-linux-2.24; $ ./configure --without-ncurses $ make nsenter && sudo cp nsenter /usr/local...阅读全文

博文 2017-05-15 07:33:37 _张晓龙_

Docker 容器镜像构建工具 Dockramp

Dockramp 是一个客户端驱动的 Docker 容器镜像构建工具。 主要特性: * 没有上下文上传 * 高效分层和缓存 * 更丰富和扩展性更强的 Dockerfile 语法 安装:

project_dir="$HOME/dockramp/src/github.com/jlhawn/dockramp"
mkdir -p $project_dir
git clone https://github.com/jlhawn/dockramp.git $project_dir
GOPATH="$project_dir/Godeps/_workspa...阅读全文

旭日东升百花鸣,手持Docker万里行

前言 区块链技术因为比特币的疯狂而被世人所熟知,最近我司也要准备上区块链项目了。不过在区块链的技术选型上,我与同事产生了分歧。我之前是一个nodejs主义的捍卫者,本来计划上一个基于lisk的区块链项目,不过,在与同事们的交谈中,我了解到了一个新的区块链架构,hyperledge,区块链项目名为fabric。hyperledge fabric用golang开发,基于docker部署。为了能快速深入学习整个框架,我决定开始做技术积累,并写下我积累过程中的技术博客。本文是整个技术博客的开篇文章,我准备从docker入手,一点一点的分析、研究hyperledge这个区块链项目。鉴于对市面上相关技术类中文博客的了解,我打包票,接下来我将写一篇非常棒的关于docker的入门文章。我相信,只要掌握了这篇...阅读全文

博文 2017-05-31 04:06:58 白昔月

面面观 | 使用alpinelinux 构建 golang http 看看能有多小

1,alpine linux 非常小 首先 alpine 非常的小,安装上了bash 之后也才 5mb。 golang 不需要其他的依赖,想看看是不是能在 alpine 上面跑呢。 搭建一个golang的环境,而不是把golang的环境放到alpine上面。 新智云 www.enncloud.cn 2,首先在centos 搭建golang环境 https://golang.org/doc/install 下载然后解压缩: tar -C /usr/local -xzf go1.7.4.linux-amd64.tar.gz 设置环境变量: export PATH=$PATH:/usr/local/go/binexportGOPATH=/data/go 假设gopath 在/data/Go目录下面...阅读全文

博文 2017-06-10 00:00:02 zz1driver

docker(11):alpinelinux安装openjre

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53744348 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys 1,关于java环境 如果使用docker官方的java环境会非常的大 643.2 MB。 而且里面有很多没有啥用的东西。不是很好。 找到一个简单的办法直接使用openjre安装。 在alpinelinux 下面安装oracle jre会发现没有glibc库。 而alpine又不提供这个库的安装,网络搜索人家可以下载, 但是网站又访问不了。 总是是不行呀。 还不如openjdk来的方便 106.3 MB。 2,Dockerfile dockerfile很简单。 ...阅读全文

博文 2017-07-12 10:26:34 freewebsys

Docker部署Golang程序方法

之前我写过如何部署Golang程序到服务器,这次咱们来写写怎么利用Docker来部署我的Golang,当然如果要部署到Docker里面,Docker是必须安装的,可以点击这里查看安装步骤。 文/谦益 这篇文章可能不太适合对go和Docker零基础人士阅读,需要有一定的基础知识。 依赖知识 Go交叉编译基础 Docker基础 Dockerfile自定义镜像基础 docker-compose编排文件编写基础 当然,一点也不会也可以按照这个步骤部署完成,不过可能中间如果出点小问题,会不知道怎么解决,当然你也可以留言。 我是在mac环境上开发测试的,如果你是在windows上可能有一点出入,但应该不会有啥大问题。 一、依赖环境 Docker 二、编写一个GoLang web程序 我这里就写一个最简单...阅读全文

博文 2018-06-25 08:34:39 _谦益_

Vscode debug GoLang micro-services in Docker

English 查一般的 bug,我更习惯直接加打印,能快速定位问题,远比断点调试方便的多。但遇到一些复杂、或是涉及第三方类库时,却不得不需要添加断点逐步跟踪逻辑。 使用 golang 开发的微服务,全部是直接运行在 docker 容器里的,想要调试并不是一件简单的事情,这时候我们就需要 Remote Debug (远程调试) vscode - 代码编辑器 ms-vscode.go - vscode 支持 Go 语言的插件 delve - Golang 调试工具,支持远程调试 Makefile - 封装指令的合集 alpine - 迷你 Docker 系统镜像,只有 5MB 启动容器 通过Makefile和Dockerfile编译镜像和运行 Docker 容器,我的方式是在本地(MacOS)...阅读全文

博文 2019-05-09 03:34:57 UULU

golang应用打包成docker镜像

golang编译的应用是不需要依赖其他运行环境的,那么为什么还需要打包成docker镜像呢?当需要附带配置和日志等文件时可以更方便的移植和运行,下面介绍从dockerfile编译成镜像。 在项目根目录新建dockerfile,内容如下: FROM alpine:latest #基于的镜像不是golang(733M),而是alpine(4.14M) MAINTAINER fanyang "luckyfanyang@gmail.com" WORKDIR $GOPATH/src/login ADD config $GOPATH/src/config #此目录存放的是所有项目的数据库配置 ADD login/conf $GOPATH/src/login/conf #此目录存放的是beego项目的配置...阅读全文

博文 2018-07-27 14:30:04 fanyang1

如何轻松的玩转Docker?有这15个小技巧就OK了

Tip1获取最近运行容器的id 这是我们经常会用到的一个操作,按照官方示例,你可以这样做(环境ubuntu): 这种方式在编写脚本的时候很有用,比如你想在脚本中批量获取id,然后进一步操作。但是这种方式要求你必须给ID赋值,如果是直接敲命令,这样做就不太方便了。 这时,你可以换一种方式: docker ps -l -q命令将返回最近运行的容器的id,通过设置别名(alias),dl命令就是获取最近容器的id。这样,就无需再输入冗长的docker ps -l -q命令了。通过两个斜引号“,可以获取dl命令的值,也就是最近运行的容器的id。Tip2尽量在Dockerfile中指定要安装的软件,而不用Docker容器的shell直接安装软件。 说实话,我有时候也喜欢在shell中安装软件,也许你也...阅读全文

博文 2018-08-24 17:35:07 悲酥一抹清风笑

Having issues attaching to a screen session with golang - repository inside

<p>I&#39;m working on MSCT, a little Minecraft server administration utility for personal use (for now). I&#39;m starting the server in a screen session, and it&#39;s working just fine. I&#39;m just having no luck getting the screen to start attached or getting MSCT to <em>resume</em> the screen.</p> <p&g...阅读全文

Kubernetes集群Pod使用Host的本地时区设置

Kubernetes集群搭建起来后,一直跑得很稳定。之前的关注点更多集中在安装、配置、组件调试方面,一些细枝末节被忽略了。Pod中时区的设置就是其中之一。今天腾出功夫打算解决一下这个问题。 一、问题现象 在我的Kubernetes 1.3.7集群的Master Node上,我们执行: # date Mon Feb 20 11:49:20 CST 2017 之后,在该Node上随意找到一个Pod中的Container,通过docker exec切入到容器内执行: # docker exec -it 1975d68de07a /bin/bash root@1975d68de07a:/# date Mon Feb 20 03:49:53 UTC 2017 我们发现Docker内输出的当前date与...阅读全文

博文 2017-05-01 14:35:56 bigwhite

制作golang1.8 with glide(package management for golang)的docker镜像

代码是最好的解释传送门github生成自己的镜像可以运行以下命令docker build -t "golang:with-glide" . 以下为Dockerfile文件内容 FROM golang:1.8 MAINTAINER luyunhua@lancai.cn RUN go get github.com/Masterminds/glide \ && cd $GOPATH/src/github.com/Masterminds/glide \ && make install \ && rm -rf $GOPATH/src/github.com/ \ && rm -rf $GOPATH/pkg \ && rm -f $GOPATH/bin/glide CMD ["bash"...阅读全文

博文 2017-05-08 09:00:57 tomato

Robotgo v0.49.0 发布了, Go 桌面自动化, 更多特性

Robotgo v0.49.0 Olympus Mons 发布了,Golang 跨平台控制鼠标、键盘、位图、屏幕、窗口句柄以及全局事件监听。 项目地址: https://github.com/go-vgo/robotgo ### Add - [NEW] Add get image size func - [NEW] Add linux type string utf-8 support - [NEW] Add scroll mouse support x, y - [NEW] Add AddEvent() "esc" support fix #105 - [NEW] Add AddEvent "space" fix #110 - [NEW] Add clipb...阅读全文

Docker: Organizing a multi-service project in a private repo?

<p>I have a project with two services that each depend on a shared database library. It seems like the best practice is 1 Dockerfile per service, but since my project is in a private repo, <code>go get</code>ing the database library seems overly complicated (how to authenticate from Dockerfile without version controlling credentia...阅读全文