web-debug-server

项目来自:https://github.com/itzg/web-debug-server

这位大哥的镜像做的很有意思:一个很小的web debug服务器,访问它可以显示请求的url和头信息

Dockerfile文件:

FROM scratch
COPY web-debug-server /
ENTRYPOINT ["/web-debug-server"]

代码是go语言写的,然后经Makefile编译

.PHONY: snapshot
snapshot:
goreleaser --snapshot --rm-dist
  • rm-dist 该发布需要一个干净的目录,该标志确保 /dist 目录会被删除。
  • snapshot 默认情况下,发布设置为 release 。此标志将关闭此操作。
  • goreleaser是一个针对不同操作系统进行编译需要安装正确的依赖包的问题

使用docker容器先来编译下

此处参考了:https://studygolang.com/articles/22242?fr=sidebar

参考了:https://goreleaser.com/

$ docker run --rm --privileged  -v $(pwd):/go/src/web-debug-server -w /go/src/web-debug-server goreleaser/goreleaser:latest-cgo release --snapshot --rm-dist
  • -v $(pwd):/go/src/web-debug-server将本地目录再docker容器做了一个挂载
  • -w /go/src/web-debug-server指定了下工作目录

可以看到编译过程中创建了不同操作系统的二进制文件

...
• BUILDING BINARIES
• building binary=dist/web-debug-server_windows_amd64/web-debug-server.exe
• building binary=dist/web-debug-server_linux_amd64/web-debug-server
• building binary=dist/web-debug-server_linux_arm_6/web-debug-server
• building binary=dist/web-debug-server_darwin_amd64/web-debug-server
...
web-debug-server]$ tree -C .
.
├── dist
│   ├── config.yaml
│   ├── web-debug-server_linux_amd64
│   │   └── web-debug-server
│   ├── web-debug-server_linux_arm_6
│   │   └── web-debug-server
│   └── web-debug-server_windows_amd64
│   └── web-debug-server.exe
├── Dockerfile
├── go.mod
├── go.sum
├── main.go
├── Makefile
└── README.md 4 directories, 10 files
web-debug-server]$ file dist/web-debug-server_linux_amd64/web-debug-server
dist/web-debug-server_linux_amd64/web-debug-server: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped

然后将该二进制文件放入Dockerfile(官方应该有构建不同平台镜像的教程)

FROM scratch
COPY dist/web-debug-server_linux_amd64/web-debug-server /
ENTRYPOINT ["/web-debug-server"]

docker run

$ docker run -it --rm -p 8080:8080 web-debug-server

效果:有点意思

web-debug-server的更多相关文章

  1. web cache server方案比较:varnish、squid、nginx

    linux运维中,web cache server方案的部署是一个很重要的环节,选择也有很多种比如:varnish.squid.nginx.下面就对当下常用的这几个web cache server做一 ...

  2. Office Web Apps Server 概述

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  3. [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成

    Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...

  4. 部署Office Web Apps Server并配置其与SharePoint 2013的集成

    部署Office Web Apps Server并配置其与SharePoint 2013的集成   Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.P ...

  5. office web apps server 问题和解决办法

    New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...

  6. Office Web Apps Server

    Office Web Apps Server Office Web Apps Server 是一款 Office 服务器产品,可提供针对 Office 文件的基于浏览器的文件查看和编辑服务.Offic ...

  7. office web apps server安装部署

    操作系统:windows 2012 软件下载地址: 链接:https://pan.baidu.com/s/1c3WWFs8 密码:4dcy NDP452-KB2901954-Web.exe(.Net ...

  8. office web app server部署和简单操作

    部署环境:windows server 2012 R2,服务器在AD域中 参考网址: https://msdn.microsoft.com/zh-cn/magazine/jj219455(office ...

  9. Simple Web API Server in Golang (2)

    In this challenge, I tried to implement a simple OAuth2 server basing on Simple Web API Server in [1 ...

  10. Simple Web API Server in Golang (1)

    To be an better Gopher, get your hands dirty. Topcoder offered a serials of challenges for learning ...

随机推荐

  1. Python中的@函数装饰器到底是什么?

    在解释@函数装饰器之前,先说一下,类中的类方法和静态方法. 在Python中完全支持定义类方法.静态方法.这两种方法很相似,Python它们都使用类来调用(ps:用对象调用也可以). 区别在于:Pyt ...

  2. 如何从ubuntu或PC传递文件到板子,ubuntu如何上网?

    3.3 如何从ubuntu或PC传递文件到板子,ubuntu如何上网? 答:以下将分别介绍如何在ubuntu和windows下如何传递文件. ubuntu如何配置上网?ubuntu 上网:打开Orac ...

  3. 【转载】C#中ArrayList使用RemoveRange移除一整段数据

    在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,如果需要移除ArrayList集合中指定索引位置开始的一整段元素对象,则可以使用ArrayList集合中的RemoveRange方法 ...

  4. i春秋——“百度杯”CTF比赛 十月场——Login

    根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 <?php inc ...

  5. Java面经入口(持续更新...)

     大数据面经 https://zhuanlan.zhihu.com/go-for-it Java 基础知识复习 您可能不知道Java基础40道常见面试题及详细答案 hashcode详解 Java St ...

  6. CHAR与VARCHAR详解

    前言:  前面写过一篇介绍int类型的文章,一直想写一篇介绍字符串字段类型的文章,一直拖着也没思路要怎么下手.最近多关注了下这方面的文章,决定还是把拖了好久的文章了结了吧.本篇文章主要会介绍字符串类型 ...

  7. Redis 分布式锁的正确打开方式

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...

  8. 使用aptitude安装软件

    linux的版本依赖问题很令人纠结,不过我们可以通过使用aptitude软件包管理器来解决这个依赖问题,aptitude是可以选择合适的版本与匹配软件安装.

  9. 随笔记录--RegExp类型

    阅读Javascript高级程序设计第五章 -- RegExp类型总结 对于基础教程部分, 有小伙伴不熟悉的,可以参考 正则表达式 - 教程 1. 基础部分回顾: ECMASript通过RegExp类 ...

  10. linux 下首次使用github 和其中遇到的问题

    1首先安装git sudo apt-get install git 2配置git文件 git config --global user.name "你的用户名" git confi ...