docker(9):使用alpinelinux 构建 golang http 启动了,才15mb
http://blog.csdn.net/freewebsys/article/details/53615757
昨天研究了下golang的http服务器。
发现在启动的时候报错:
No such file or directory
发现这个错误,开始还以为是alpine 的系统lib库少了,
必须使用docker 官方的golang镜像呢。
后来研究明白了,其实是因为我的宿主是centos。
我在centos 上编译了 golang,然后拷贝到alpine 环境上造成的。
解决办法。
1,使用golang:alpine 镜像 241 mb 进行编译,映射一个文件夹。
2,然后把编译好的文件拷贝出来,放到alpine的镜像上即可。
这样一个15.24 MB golang 环境就好了。
因为还安装了一个 bash ,可以进入系统查看。
func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:]) func main() { http.HandleFunc("/", handler) http.ListenAndServe("0.0.0.0:8080", nil) }
摘自golang 官方的httpdemo。
3,将alpine 和go http打包docker build -t demo/go-http:1.0 . docker run -d -p 8080:8080 --name go-http demo/go-http:1.0
直接访问 curl localhost:8080 即可了。
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/53635529 未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys
这个是个非常好的实现,怪不得golang 号称是云计算设计的语言呢。直接在alpine 5mb的系统上运行了,在安装一个bash,一共才15 mb,咋做版本升级,版本备份都行。
厉害了我的哥,golang 实在是太喜欢了。
准备把后台的系统都设计设计用 golang 重写吧。
其实java能做的golang 都能做呢。
java 打上一个jre 都 100 mb以上了。看看人家golang 才 几mb。
啥东西都齐了。golang真的是云计算的语言了呢。
docker(alpine+golang) 中 hosts 不生效问题解决大全 把使用 golang 开发的服务程序部署在以 alpine 为基础镜像的容器中,设置了 /etc/hosts,却没有生效,但是在终端中使用 ping 和 curl 域名都可以正常访问。出现上述问题的根本原因是 DNS 解析顺序不一致导致的,在 alpine 中,linux 系统默认跳过 hosts 配置,直接使用机器的 DNS 服务。因此,有如下三种解决方法。修改 NDS 解析顺序,先设置读 files,再设置读 dns,具体方法如下:但是方法一会存在一个问题,就是容器重启后,配置文件就消失了。因此可以使用
如何利用docker 构建golang线上部署环境 公司最近开发了一个项目是用golang 写的,现在要部署到线上环境去,又不想在服务器上装单独的golang,决定用docker 封装下,直接打到镜像里面,然后就直接在hub.docker.com上面搜了下golang的镜像,直接就docker pull golang 最新的是1.
相关文章
- docker探索-Win10 Docker 安装使用(一)
- 【Docker异常】ERROR: dial unix docker.raw.sock: connect: connection refused
- 【Docker】docker安装mysql
- Docker 简单部署 ElasticSearch
- Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
- 运维基础之Docker(7)关于docker latest tag
- 运维基础之Docker(2)通过docker部署zookeeper nginx tomcat java redis kibana/elasticsearch/logstash mysql kafka mesos/marathon ftp git
- SAP S/4HANA装到Docker里的镜像有多大
- 【docker】Docker快速入门总结笔记(命令大全)
- Docker“Got permission denied while trying to connect to the Docker daemon socket“问题
- Docker 问题汇总
- Docker 修改运行中容器的端口
- Docker Secrets
- 018-docker-docker-compose定义和运行多容器 Docker 应用程序的工具
- 004-docker命令-docker资源配置-Docker容器CPU、memory资源限制
- 【云原生之Docker实战】使用docker部署Monica个人开源CRM系统
- 【云原生之Docker实战】使用docker部署Ghost个人博客系统
- 【云原生之Docker实战】在docker环境下部署DooTask任务管理工具
- 【云原生之Docker实战】使用Docker部署Chevereto个人图床平台
- 【云原生之Docker实战】使用docker部署PicUploader图床工具
- 软件测试如何快速搭建测试环境:docker 部署 tomcat 环境
- docker启动服务---------------kafka+zookeeper
- Ubuntu 14.04 16.04 安装最新的 docker
- Docker----常用安装
- Docker_01_Docker是容器化的具体实现者
- Docker 镜像如何保存为文件及从文件导入镜像
- Docker 教程:如何将Helix QAC作为容器创建并运行 下