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

在 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运行...阅读全文

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

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

应用管理平台 Cloudbang

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

容器101:Docker 基本法则

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

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

为促进 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...阅读全文

判题服务器 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...阅读全文

博文 2016-12-13 22:37 freewebsys

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

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

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

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

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

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

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

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

博文 十一月 22, 2016 bigwhite

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: 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...阅读全文

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...阅读全文

如何在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.02.18 23:13* _张晓龙_

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

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

博文 2017.05.31 11:53 白昔月

压力测试

项目: 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 20:51 郭志伟DavidGuo

制作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 17:00:57 tomato

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与...阅读全文

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

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

DockOne技术分享(一):Dockerfile与Docker构建流程解读

【编者的话】本次讨论主要对docker build的源码流程进行了梳理和解读,并分享了在制作Dockerfile过程中的一些实践经验,包括如何调试、优化和build中的一些要点。另外,还针对现有Dockerfile的不足进行了简要说明,并分享了对于Dockerfile的一些理解。 听众这次的分享主要面向有一定Docker基础的。我希望你已经: 用过Docker,熟悉docker commit命令自己动手编写过Dockerfile自己动手build过一个镜像,有亲身的体验 我主要分享一些现在网上或者文档中没有的东西,包括我的理解和一些实践,有误之处也请大家指正。好了,正文开始: DockerfileDockerfile其实可以看做一个命令集。每行均为一条命令。每行的第一个单词,就是命令comm...阅读全文

面面观 | 使用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-08 11:40 zz1driver

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

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

博文 2017.06.17 21:23 行书以鉴

DockOne微信分享(八十二):基于Docker技术的CI&CD实践

【编者的话】Docker技术应用广泛,可以将软件与其依赖环境打包起来,以镜像方式交付,让软件运行在“标准环境”中。这一特性可以应用到持续集成中,实现原生支持容器云平台持续交付。本文将概述CI&CD基本工作流程,软件整体框架以及实现原理。 背景概述持续集成是一种软件开发实践,即团队成员经常集成他们的工作,每次集成都需要通过自动化的构建,包括编译、发布、自动化测试来验证,从而尽早的发现集成错误。持续交付是指频繁地将软件新版本交付质量团队或者用户以供评审,如果评审通过,发布到生产环境。 Docker是一款基于LXC的容器引擎,自2013年开源以来,因为其易用性、高可移植性在开源社区非常火热。Docker将软件与其依赖环境打包起来,以镜像方式交付,让软件运行在“标准环境”中,这非常符合云计算的要求。...阅读全文

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很简单。 ...阅读全文

博文 2016-12-19 17:24 freewebsys

DockOne微信分享(四十七):Docker在乐视的实践之路

【编者的话】现在Docker 技术越来越火热,越来越多的公司开始使用Docker技术部署应用。这次分享主要是讲如何充分利用Docker技术实现代码到线上环境的部署,以及在使用Docker中遇到的问题和困扰。 背景我们是在14年开始研究并使用Docker,最开始主要想利用Docker解决组件化和服务的上线问题。现在慢慢演化成一个提供服务从代码环境到线上部署的一套解决方案。现在这套系统在内部我们称之为Harbor。 实战之路1.0 版本我们第一版采用docker-registry搭建了私有的镜像仓库,并使用Python开发的命令行模式,对Docker主机和容器进行管理,使用App->Service->Container 和主机集群的概念。一个App下对应多个Service,多个Service 组...阅读全文

DockOne技术分享(三十七):玩转Docker镜像和镜像构建

【编者的话】本次分享从个人的角度,讲述对于Docker镜像和镜像构建的一些实践经验。主要内容包括利用Docker Hub进行在线编译,下载镜像,dind的实践,对于镜像的一些思考等。 @Container容器技术大会将于2016年1月24日在北京举行,来自爱奇艺、微博、腾讯、去哪儿网、美团云、京东、蘑菇街、惠普、暴走漫画等知名公司的技术负责人将分享他们的容器应用案例。 前言本次分享主要是从个人实践的角度,讲述本人对于Docker镜像的一些玩法和体会。本文中大部分的内容都还处于实验的阶段,未经过大规模生产的实践。特此说明。思虑不全或者偏颇之处,还请大家指正。 镜像应该算是Docker的核心价值之一。镜像由多层组成。那么对于一个层来说,就有了两个角度来看待。一个角度是把这层当做一个独立的单位来看...阅读全文

DockOne技术分享(六):新浪SCE Docker最佳实践

【编者的话】本文主要从IaaS视角,分享SCE通过怎样的实践来支持上层产品线的容器化诉求。首先聊聊我们为什么做支持Docker技术这件事情,然后介绍下Docker支持实践的方方面面。最后给出实践过程中总结出来的一些经验及踩过的一些坑,以及后续需要深耕的点。 先假定今晚的听众至少已经小范围使用过Docker技术,熟悉相关概念及原理。 前几期DockOne技术分享已经针对Docker的几个技术要点做了深入分析,所以我今晚主要从IaaS视角,分享SCE通过怎样的实践来支持上层产品线的容器化诉求。 ---------- 为何支持Docker技术为何做这件事先介绍下我浪SCE。SCE是新浪研发中心主推私有云产品,已经覆盖到公司内部所有产品线。基于OpenStack定制,整合了公司通道机、CMDB,为公...阅读全文

DockOne技术分享(十七):360的容器化之路

【编者的话】容器化技术作为“搅局者”,势必面临适配公司已有架构的挑战,本文将为大家介绍360如何让Docker落地。主要包括三方面内容:一,结合公司业务特点,如何使Docker适配现有技术架构 ,完成线上环境快速部署扩容;二,“让产品失败的更廉价”,使用Docker构建PaaS环境加速中小业务快速孵化上线;三,使用Docker技术,在构建持续集成环境方面的一些积累。 容器化技术作为“搅局者”,势必面临适配公司已有架构的挑战,本文将为大家介绍360如何让Docker落地。主要包括三方面内容:一,结合公司业务特点,如何使Docker适配现有技术架构 ,完成线上环境快速部署扩容;二,“让产品失败的更廉价”,使用Docker构建PaaS环境加速中小业务快速孵化上线;三,使用Docker技术,在构建持...阅读全文