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. 1-RocketMq 学习 中文文档(一)

    原文:https://blog.csdn.net/weixin_40533111/article/details/84451096 1.基本概念及优势 rocketmq是一个基于发布订阅队列模型的消息 ...

  2. Python学习笔记之replace()

    10-2 可使用方法replace()将字符串中的特定单词都替换为另一个单词. 读取你刚创建的文件learning_python.txt 中的每一行,将其中的Python 都替换为另一门语言的名称,如 ...

  3. Robotframework ride ,运行后提示, [WinError 2] 系统找不到指定的文件。

    运行后提示, [WinError 2] 系统找不到指定的文件. command: pybot.bat --argumentfile C:\Users\123\AppData\Local\Temp\RI ...

  4. 浅谈Spring解决循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  5. ES6的常见语法!!

    let : 声明变量 不存在变量提前 拥有局部作用域 (只要有{}出现 则只在该{}范围内生效) (而var只在函数内会产生作用域范围) 不能重复声明 const : 声明常量(常量名从规范上来将 最 ...

  6. Qt QVector简单用法

    添加元素 QVector<QString> strArray; strArray.append("Hello"); 遍历 QVector<QString>: ...

  7. QT POST/GET HTTP操作

    工程文件 Qt += network 举例 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui-> ...

  8. swagger页面详细讲解

  9. 转:Oracle中SQL语句执行过程中

    Oracle中SQL语句执行过程中,Oracle内部解析原理如下: 1.当一用户第一次提交一个SQL表达式时,Oracle会将这SQL进行Hard parse,这过程有点像程序编译,检查语法.表名.字 ...

  10. 资深P7架构师详解淘宝服务端高并发分布式架构演进之路

    1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则. ...